ABCD 四个请求,按照返回的顺序输出

2019-08-19  本文已影响0人  织雪纱奈

A 先返回输出A
C返回,B没返回,先不输出C

Promise.all = function(promises){
  return new Promise((resolve,reject)=>{
      // let result = []
      let indexArr = [] //4,2,1,0
      let start = 0
      for (let i=0; i<len; i++) {
        promises[i].then((res) => {
          indexArr[i] = res
          let len = indexArr.length
          for (let j = start; j<len; j++) {
            if (indexArr[j] !== undefined) {
              console.log(indexArr[j])
              start++
            }else {
              break;
            }
          }
        },(err)=>{
          reject(err)
        })
      }
  })
} 
上一篇 下一篇

猜你喜欢

热点阅读