【发布时间】:2016-11-13 20:18:22
【问题描述】:
这个安全装置有必要吗?
Promise.all([...].map((thenable) => Promise.resolve(thenable)));
是否可以安全地为收集方法提供 thenables - Promise.all、Promise.race 等?有什么陷阱吗?
问题涉及 Bluebird,以及 polyfill 和所有原生 ES6 Promise 实现。
【问题讨论】:
-
您可以在传递给
Promise.all()的迭代中提供任何 thenable 或值。您不必自己将它们包装成承诺。Promise.all()的实现将测试它们是否是 thenable,如果是,则等待它们的解析,如果不是,则值将是解析。查看演示:jsfiddle.net/jfriend00/jgf0xwhm
标签: javascript promise bluebird es6-promise