es6 promise.all封装以及promise.race封装

function promiseAll(promises){
    return new Promise(function(resolve,reject){
        if(!Array.isArray(promises)){
            return reject(new TypeError("argument must be an array"))
        }
        var countNum=0;
        var promiseNum=promises.length;
        var resolvedvalue=new Array(promiseNum);
        for(let i=0;i{
    resolve(1)
})
let p2 = new Promise((resolve,reject)=>{
    resolve(2)
})
let p3 = new Promise((resolve,reject)=>{
    resolve(3)
})

promiseAll([p1,p2,p3]).then(function(value){
    console.log(value)
})
promise.race
const _race = (p)=>{
	return new Promise((resolve, reject)=>{
		p.forEach((item)=>{
			Promise.resolve(item).then(resolve, reject)
		})
	})
}

你可能感兴趣的:(js常用操作)