Promise.all实现中索引问题解决方案.pdfVIP

  • 2
  • 0
  • 约2.24千字
  • 约 2页
  • 2026-04-17 发布于山西
  • 举报

我们知道promise.all要保证了三个promise全部执行完毕后,一起输出三个promise的结果。

但在11-19中采用if(index===promises.length-1)来判断三个promise是否都执行完成,实际是存在一个小问题,问题是:如果最后一个

promise最先达到了,那必定会出现先返回,那整个all方法就会执行结束。解决这个问题其实很简单,重新定义变量来计算索引就解决问题了,参

见下方代码:

staticall(承诺:Promise[]):Promise{

returnnewPromise((resolve,reject)={letexecutorIndex=0//重新定义变量来计算索引

letallPrmiseResolveSucssValue:Array

=[]anypro

=

mises.forEach((promise,index){promise.then((resolveSuccess)={处理数据

(resolveSuccess,index)},(rejectFail)={reject

文档评论(0)

1亿VIP精品文档

相关文档