javaScript

js -- 实现同步map函数

2018-12-20  本文已影响17人  反者道之动001

我们现在有一个数据, 想要遍历修改他的数据, 比如我们从数据库查询的值,这个是异步的, 那么如何用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--

上一篇 下一篇

猜你喜欢

热点阅读