实现一个Promise.all()

79 阅读1分钟
function promiseAll (arr) {
	const result = []
	let number = 0
	return new Promise((resolve, reject) => {
		arr.forEach((p, i) => {
			Promise.resolve(p).then(res => {
				result[i] = res
				number++
				if (number === arr.length) {
					resolve(result)
				}
			}, error => {
				reject(error)
			})
		})
	})
}