遍历执行promise

    // 使用async、await实现类似同步编程
    async function queue(arr) {
        let res = []
        for (let fn of arr) {
            var data = await fn();
            res.push(data);
        }
        return await res
    }

调用方式:

// promise
const request = new Promise (r=>{
    setTimeout(()=>{ r() }, 1000)
})
// promise数组
const l = res.list.map(item => request())
//  遍历顺序执行
queue(l)
    .then(data => {
        console.log('所有任务遍历结束', data)
    })
    .catch(err => {
        console.error('错误', err)
    })

 

posted @ 2021-12-31 13:41  Mankii  阅读(257)  评论(0编辑  收藏  举报
返回顶部