Promise常用方法
Promise.all
js
Promise.all([])
.then(res => {})
.catch(err => {})
该方法接收一个 Promise 数组返回一个 Promise,只有当该数组中的所有 Promise 完成后才会由 pendding 状态变为 resolve 执行 then 里面的回调函数,若数组中有任意一个 promise 被拒绝则会执行失败回调,catch 方法会捕获到首个被执行的 reject 函数。该方法获得的成功结果的数组里面的数据顺序和接收到的 promise 数组顺序是一致的。
Promise.any
js
Promise.any([])
.then(res => {})
.catch(err => {})
当传入的 promise 数组中有任意一个完成时就会终止,会忽略到所有被拒绝掉的 promise,直到第一个 promise 完成。若传入所有的 promise 被拒绝则会执行拒绝回调。
Promise.race
js
Promise.race([])
.then(res => {})
.catch(err => {})
当 promise 数组中任意一个 promise 被拒绝或者成功,则会采用第一个 promise 作为他的返回值。若为成功的执行 then,若失败则执行 catch。
Promise.allSettled
js
Promise.allSettled([])
.then(results => {})
.catch(err => {})
当给定的 promise 数组中的所有 promise 被拒绝后会返回一个拒绝的 promise 数组,与[]一一对应。