Promise的几个常用方法

Promise.all

Promise.all([]).then(res => {}).catch(err => {})

该方法接收一个Promise数组返回一个Promise,只有当该数组中的所有Promise完成后才会由pendding状态变为resolve执行then里面的回调函数,若数组中有任意一个promise被拒绝则会执行失败回调,catch方法会捕获到首个被执行的 reject函数。该方法获得的成功结果的数组里面的数据顺序和接收到的promise数组顺序是一致的。

Promise.any

Promise.any([]).then(res => {}).catch(err => {});

当传入的promise数组中有任意一个完成时就会终止,会忽略到所有被拒绝掉的promise,直到第一个promise完成。若传入所有的promise被拒绝则会执行拒绝回调。

Promise.race

Promise.race([]).then(res => {}).catch(err => {});

当promise数组中任意一个promise被拒绝或者成功,则会采用第一个promise作为他的返回值。若为成功的执行then,若失败则执行catch。

Promise.allSettled

Promise.allSettled([]).then(results => {}).catch(err => {});

当给定的promise数组中的所有promise被拒绝后会返回一个拒绝的promise数组,与[]一一对应。

Logo

基于 Vue 的企业级 UI 组件库和中后台系统解决方案,为数万开发者服务。

更多推荐