ugen-promise
v1.0.2
Published
请求类
Downloads
1
Readme
uPromise方法类
API
1.promiseAll
/**
* @description 封装后的Promiseall,与原生Promiseall不同在于即使有一个promise报错也可以正常进行
* @param {*} promise数组[]
* @returns [], promise r或j后的数组
* @memberof uPromise
*/
2.promiseFor
/**
* @description 顺序执行的Promise,即使有一个promise报错也可以正常进行
* @param {*} promise数组[]
* @returns [] ,promise r或j后的数组
* @memberof uPromise
*/
3.errCaptured
/**
* @description 可以捕捉到error的promise
* @param {*} promise
* @returns [err,res]
* @memberof uPromise
*/
使用方法
import uPromise from './uPromise'
const E = new Promise((r, j) => {
setTimeout(()=>{
j('err')
},3000)
})
const D = new Promise((r, j) => {
setTimeout(()=>{
r('D')
},5000)
})
const C = new Promise((r, j) => {
setTimeout(()=>{
r('C')
},2000)
})
const B = new Promise((r, j) => {
setTimeout(()=>{
r('B')
},1000)
})
const A = new Promise((r, j) => {
setTimeout(()=>{
j('err')
},4000)
})
const testuPromise=new uPromise()
async function test1() {
testuPromise.promiseAll([A,B,C,D,E]).then(([a,b,c,d,e])=>{
console.log(a)
console.log(b)
console.log(c)
console.log(d)
console.log(e)
})
}
test1()
async function test2() {
testuPromise.promiseFor([A,B,C,D,E]).then(([a,b,c,d,e])=>{
console.log(a)
console.log(b)
console.log(c)
console.log(d)
console.log(e)
})
}
test2()
async function test3() {
let [err,res] = await testuPromise.errCaptured(A)
console.log(err,res)
}
test3()