promise.all手写

139 阅读1分钟
function myAll(arr){
	let result = []
	let count = 0
	return new Promise((resolve,reject) => {
		for(let i = 0;i < arr.length;i++){
			arr[i].then(value => {
				result.push(value)
				count++
				if(count === arr.length){
					resolve(result)
				}
			}).catch((err)=>{
				reject(err)
			})
		}
	})
}