方法定义
//request.js 定义
export function all(requests, callback) {
Promise.all(requests)
.then(params => callback(params))
.catch(error => {
console.error(error)
})
}
export function allSettle(requests, callback) {
Promise.allSettled(requests)
.then(params => callback(params))
.catch(error => {
console.error(error)
})
}
方法使用
import { allSettle } from '@/utils/request'
export function dashboardData(params, callback) {
let requests = [
// post/get 请求组成的promise 数组
]
allSettle(requests, callback)
// all(requests, callback)
}
方法区别
- Promise.all 方法请求中所有结果都成功则返回有结果组成的数组,其中一个失败立马返回失败,不继续执行
- Promise.allSettled 方法执行完数组中所有方法 统一返回结果,不管成功或者失败都会返回。
//状态值 fulfilled(成功),rejected(失败)
[{status:'fulfilled',value:{data:接口返回的值}}]
标签:callback,promise,allSettle,params,error,Promise,requests
From: https://www.cnblogs.com/zhu-xl/p/17656701.html