js在循环中执行异步操作,然后把每次异步的结果添加到一个数组中,如何在循环之外使用这个数组?

图片描述

代码如图所示,如何只返回for循环中最后一次异步操作完成后的结果?请各位大佬路过看看,帮小弟一把。

阅读 5k
2 个回答

直接在resolve里把数组传出去就好了啊。

let promise = new Promise(resolve => {
    let arr = []
    // ...
    resolve(arr)
})
promise.then(res => {
    console.log(res)
})
新手上路,请多包涵

图片描述

我知道怎么解决了,如上图代码所示。可以保证循环结束时,在循环外面获得数组中保存的所有异步操作的结果。当然了,这并不一定是最好的方案,欢迎大家的讨论和斧正。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题