在 DNS 故障时获取 API 响应

FetchAPI Response on DNS failure

我正在尝试类似的东西:

const resp = await fetch('http://bad-domain'); //bad-domain does not resolve

然后我稍后在我的代码中捕获了一个异常: TypeError: failed to fetch

这是 DNS 查找失败的预期结果还是由于 resp 与正常的 Response 对象不同而没有错误 fetch returns.

只是 TypeError 没有明确指出问题是网络请求错误而不是 javascript 代码错误。

这是 expected behavior:

12.3. If response is a network error, then reject p with a TypeError and terminate these substeps.

...其中 pfetch 返回的承诺。该规范不要求提供任何关于为什么请求失败的具体信息,只是那个它失败了(在网络级别;它没有'不要拒绝 HTTP 错误,因为 I describe here 在我的旧贫血博客上,你必须在实现路径上检查它)。