【发布时间】:2018-09-07 08:35:45
【问题描述】:
我已经发布了question earlier about Promise.all 和 d3.js v5,但是关于这段代码的另一个问题出现了:
var files = ["data1.json", "data2.json", "data3.json"];
var promises = [];
files.forEach(function(url) {
promises.push(d3.json(url))
});
Promise.all(promises).then(function(values) {
console.log(values)
});
如果其中一个 URL 无效,Promise.all 不会返回任何结果;换句话说,所有响应都必须对 Promise.all 有效才能返回值。如果其中一个 URL 出错,如何获得其他响应?
【问题讨论】:
-
您可以使用 Observable 来处理这个问题,因为它具有强大的功能,例如下一个、重试等……有了承诺,如果一个请求失败,代码执行就会停止。但是使用 Observable,如果一个请求失败,则可以完成另一个请求
标签: javascript promise es6-promise