Hi FE !
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub
Ai
git
前端面试题
前端小tip
  • vite
  • webpack
npm
  • vue2
  • vue3
react
GitHub
  • s013-书写 promiseRace

s013-书写 promiseRace

static PromiseRace(arr) {
  return new Promise((resolve,reject) => {
      if(!Array.isArray(arr)) {
        reject(throw new Error('请输入数组'))
      }
      for(let i = 0;i < arr.length; i ++) {
        Promise.resolve(arr[i]).then(res => {
            resolve(res)
        },err => {
            reject(err)
        })
      }
  })
}




let p1 = new Promise((resolve,reject) => {
  setTimeout(() => {
    resolve(1)
  },1000)
})

let p2 = new Promise((resolve,reject) => {
  setTimeout(() => {
    reject(2)
  },200)
})



PromiseRace([p1,p2]).then(res => {
  console.log(res)
}).catch(err => {
  console.log(err)
})

二、Promise.race 的使用

顾名思义,Promse.race 就是赛跑的意思,意思就是说,Promise.race([p1, p2, p3])里面哪个结果获得的快,就返回那个结果,不管结果本身是成功状态还是失败状态。

返回只返回最快的那个(无论对错),但是也都执行一遍的

Edit this page
最近更新: 2025/6/27 02:24
Contributors: qdleader
qdleader
本站总访问量 129823次 | 本站访客数 12人