我们现在有一个数据, 想要遍历修改他的数据, 比如我们从数据库查询的值,这个是异步的, 那么如何用map的方式实现呢
-- 上代码
const asyncMap = func => AF => arr => new Promise((resolve) => {
var arr2 = []
arr.forEach(async (e, index) => {
let a = await AF(func(e))
arr2.push(a)
arr.length == index + 1 && resolve(arr2)
})
})
使用例子:
(async () => {
var arr = [3, 3, 4, 5, 7, 99, 56]
var getUserAge = (n) => new Promise((resolve) => {resolve(n)})
// 使用
var newArr = await asyncMap(e => e + 3)(getUserAge)(arr)
console.log(newArr)
})()
推荐搞到全局里面去。
--END--
网友评论