Promise.all()跟Promise.resolve()区别
发布于 8 年前 作者 oyosc 9371 次浏览 来自 问答

比如说一个数组里面的值是不同的Promise,为什么使用Promise.all可以,而Promise.resolve却不行呢

8 回复

因为Promise.all()是并行执行多个promise而resolve是针对单个promise的操作啊…

bingo

基本用法~~

resolve()和 new Promise(resolve, reject) 含义是一致的,把值封装成promise对象

楼主这个我也是昨天刚刚看的,all可以把一堆promise对象集合在一起生成一个新的promise来执行,而resolve只是对单个的promise来执行

看文档咯 Promise.all 单个和多个的区别~

@yatokami 应该这样理解吧,all是处理一个promise数组,然后把数组里面的Promise执行完成后所得到的数据再生成一个数组,而resolve只是单个的

Promise.resolve()是将任意对象封装为状态为resolved的Promise对象。

Promise.all()是用于将多个Promise对象封装为一个Promise对象,当其中的所有Promise对象都resolved了之后,封装后的Promise状态为resolved,其中任意Promise对象被reject后,封装后的Promise状就为rejected

更多请参见 http://alinode.aliyun.com/blog/5

回到顶部