Pomise.race的使用场景 2020-05-22

2020-05-27  本文已影响0人  Allan要做活神仙

类似于Promise.all() ,区别在于 它有任意一个返回成功后,就算完成,但是 进程不会立即停止

常见使用场景:把异步操作和定时器放到一起,如果定时器先触发,认为超时,告知用户

let p1 = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('成功了')
  }, 2000);
})

let p2 = new Promise((resolve, reject) => {
  setTimeout(() => {
    resolve('success')    
  }, 5000);
})

Promise.race([p1, p2]).then((result) => {
  console.log(result) //['成功了', 'success']
}).catch((error) => {
  console.log(error)
})</pre>

上一篇下一篇

猜你喜欢

热点阅读