这个安全装置有必要吗?
Promise.all([...].map((thenable) => Promise.resolve(thenable)));
是否有可能和安全地为收集方法- Promise.all
、Promise.race
等提供支持?有什么陷阱吗?
这个问题涉及到蓝鸟,以及多填充和所有本地ES6承诺实现。
发布于 2016-07-11 20:12:50
这不是必要的,应该通过承诺的履行本身来做到:
all
函数返回一个新的承诺,该承诺通过一系列已传递的承诺的实现值来实现,或者由于第一个被拒绝的承诺的原因而被拒绝。在运行此算法时,它将传递的可迭代的所有元素解析为承诺。
ES2015 Specification, paragraph 25.4.4.1 Promise.all ( iterable )
措辞更易访问的by MDN
如果迭代数组中传递的内容不是一个承诺,则由
Promise.resolve
将其转换为可迭代数组。
https://stackoverflow.com/questions/38314489
复制相似问题