Promise.all和Promise.race的区别

297 阅读1分钟

Promise.all

  • Promise.all()方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。
  • Promise.all([p1,p2,p3])的返回结果由数组里面的状态决定,只有p1,p2,p3的状态全部变成fulfilled成功状态时,Promise的状态才会变成fulfilled,而且成功和失败的返回值是不同的,成功的时候返回的是一个结果数组,而失败的时候则返回最先被reject失败状态的值

Promise.race

  • race其实有赛跑的意思,可以这么理解Promise.race([p1,p2,p3])接收的数组里面,哪个结果获得的快,Promise最后就返回哪个结果,不管结果是成功状态还是失败状态。