美文网首页javaScript
js -- 实现同步map函数

js -- 实现同步map函数

作者: 反者道之动001 | 来源:发表于2018-12-20 12:04 被阅读17次

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

    相关文章

      网友评论

        本文标题:js -- 实现同步map函数

        本文链接:https://www.haomeiwen.com/subject/trcykqtx.html