1.0.2 • Published 6 years ago

ugen-promise v1.0.2

Weekly downloads
1
License
ISC
Repository
-
Last release
6 years ago

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()
1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago