【发布时间】:2021-08-07 21:35:18
【问题描述】:
我正在尝试一次进行多个 fetch 调用,到目前为止,我已经使用 this 页面达到了可以正确进行多个调用的地步。但是,现在的问题是,如果其中一个调用返回错误。我想要的是,如果一个 URL 是好的,一个是坏的,好的 URL 仍然返回 JSON 对象,但是坏的 URL 会返回错误。但是 catch 语句注意到一个错误并停止两个调用。
我当前的代码:
let resList = await Promise.all([
fetch(goodURL),
fetch(badURL)
]).then(responses => {
return Promise.all(responses.map(response => {
return response.json();
}))
}).catch(error => {
console.log(error);
});
console.log(resList);
目前,当我希望它从正确的 URL 返回 JSON 对象时,记录 resList 返回 undefined
【问题讨论】:
-
你能在你的代码运行的地方使用
.allSettled吗(browser,Node)? -
@jonrsharpe 它在 Node.js 中运行。我会试一试,干杯
-
@jonrsharpe 我已经尝试过
.allSettled,但由于某种原因,我现在得到一个response.json不是函数错误。不确定为什么更改承诺会对此产生影响?
标签: javascript async-await promise fetch