promise.all方法不懂 啊

promise.all方法不懂 啊

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕然然 2022-01-10 17:00:37

同学你好,解答如下:

Promise.all()方法其实就是用来接收多个 Promise 实例对象,而其最终状态到底是成功状态,还是失败状态,由所有传入的Promise实例对象状态决定,即:

当所有Promise 实例对象状态都为resolved时,最终的状态才会为resolved(成功状态);

只要有一个Promise 实例状态为rejected,那么最终的状态就为rejected(失败状态)。

可以参考如下示例理解:

https://img1.sycdn.imooc.com//climg/61dbf5830971347414360643.jpg

祝学习愉快!

  • 提问者 球球不一般 #1

    https://img1.sycdn.imooc.com//climg/61dbff9d09ec6fb105010162.jpg中间这段看不懂啊

    搜索

    复制

    2022-01-10 17:43:06
  • 好帮手慕然然 回复 提问者 球球不一般 #2

    这段代码其实就是Promise对象调用then方法,前面讲过then方法有两个回调函数,第一个是成功回调函数(返回成功状态时执行),第二个是失败回调函数(返回失败状态时执行)。

    提示:这里的const p = Promise.all() 与 const p = new Promise() 其实是类似的,Promise.all()也会返回一个Promise对象,然后可以打点调用then方法,而then方法的执行由Promise对象状态决定,如果是成功状态执行成功回调,如果是失败状态执行失败回调。

    2022-01-10 18:08:44
  • 老师前面总结的很清晰👍,不过还是有一点小疑惑:

    这里执行成功回调后

    https://img1.sycdn.imooc.com//climg/6295d670096bbc5407350098.jpg


    输出的数组的每一项为什么不是p1/p2/p3这三个Promise的实例(如图)

    https://img1.sycdn.imooc.com//climg/6295d6a70981694d08900034.jpg


    而是他们的返回值呢?

    https://img1.sycdn.imooc.com//climg/6295d6c1096eee5e03200059.jpg

    2022-05-31 16:51:49
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师