0
点赞
收藏
分享

微信扫一扫

前端八股学习2.0之手写promise.all方法

爱上流星雨 2022-02-15 阅读 58

promise.all()方法接受一个promise的iterable类型的输入并且只返回一个Promise实例
也就是将多个promise实例变成一个新的promise实例

function PromiseAll(lists){
	return new Promise((resolve,reject) => {
		let PromiseRes = [];
		//接收promise实例的数量
		let num = 0;
		//遍历lists中的实例对象
		lists.forEach(item){
			Promise.resolve(item).then(res => {
				promiseres.push(res);
				num++;
				if(num === PromiseRes.length){
					resolve(PromiseRes)
				}
			}).catch(err=>{
				reject(err)
			})
		}
		//如果接收为空
		if(num === 0){
			resolve(PromiseRes)
		}
	})
}

文章为个人学习产物,仅供参考,借鉴全网文献学习

举报

相关推荐

0 条评论