【发布时间】:2017-07-13 23:27:41
【问题描述】:
我有一组 Promise,我想在它们完成后立即触发它们的某些操作。 Promises.all 并不是我想要的,因为它会等到 Iterable 中的所有 Promises 完成。 Promises.race 返回完成返回的第一个 Promise。
假设你只能使用:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
【问题讨论】:
-
promises.forEach(p => p.then(doStuff)) -
你能发布一个代码示例吗?根据您创建 Promise 的方式,您通常可以在各个 Promise 中使用
.then()并使用Promise.all解析数组。 -
@4castle 这样做时不要忘记
.catch()错误。或者更好的是,不要使用forEach,而是使用map并对结果做一些事情(包括错误处理) -
@Bergi 他们仍然可以使用
forEach。下一行可能是Promise.all(promises).catch(handleIt) -
@4castle 不,他们不能,当
promises被拒绝时,这将导致then在forEach中创建的承诺未处理的承诺拒绝
标签: javascript promise