代码之家  ›  专栏  ›  技术社区  ›  Anatolii Humennyi

获取失败fetch()请求的问题详细信息

  •  0
  • Anatolii Humennyi  · 技术社区  · 4 年前

    我读过有关在MDN上处理失败请求的内容: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch 其中写道:

    换句话说,在错误“Failed to fetch”下面可能隐藏着另一种错误。 有没有可能找到失败的真正原因?

    如果另一个接口提供了有关失败请求的更多信息,我甚至同意使用另一个接口而不是fetch()来发出请求。

    1 回复  |  直到 4 年前
        1
  •  1
  •   T.J. Crowder    4 年前

    换句话说,在错误“Failed to fetch”下面可能隐藏着另一种错误。有没有可能找到失败的真正原因?

    如果是拒绝 fetch

    • 初始化请求时出错
    • AbortError 因为请求被中止了

    你可以找到细节 here . 除了拒绝原因的类型之外,不太可能有太多可用的信息 Error ( TypeError 流产恐怖 等)

    取来 不是拒绝承诺,而是 它与一个响应对象 ok 财产将 false 谁的 status 属性将给出HTTP状态代码(404或类似代码)。您还可以读取错误响应的主体(使用 text() 方法,或 json() 如果服务器发回带有错误的JSON文本等)。

    因此,您至少可以区分中止的请求、网络错误和HTTP错误,对于HTTP错误,您可以区分是哪种类型的请求(404500等),并且服务器可以(如果配置为)在响应正文中向您发送有关错误的更多信息。