CNode

Promise.all()跟Promise.resolve()区别

问答
Ooyosc发布于10 年前最后回复10 年前8 回复10582 浏览0 收藏

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

查看回复

回复 (8)

S
scarletmu#1·10 年前

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

O
oyosc#2·10 年前

bingo

N
ncuzp#3·10 年前

基本用法~~

X
xltank#4·10 年前

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

Y
yatokami#5·10 年前

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

D
DevinXian#6·10 年前

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

O
oyosc#7·10 年前
引用 yatokami楼主这个我也是昨天刚刚看的,all可以把一堆promise对象集合在一起生成一个新的promise来执行,而resolve只是对单个的promise来执行

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

J
JacksonTian#8·10 年前

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

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

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

参与回复
登录后即可参与回复。登录