首页 >web前端 >js教程 >如何优雅地处理基于 HTTP 状态代码的获取错误?

如何优雅地处理基于 HTTP 状态代码的获取错误?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-10 02:13:02597浏览

How Can You Gracefully Handle Fetch Errors Based on HTTP Status Codes?

捕获带有响应状态的提取错误

您正在将 fetch() API 与 Redux 和 redux-promise-middleware 库结合使用。在您的代码片段中,您尝试检查响应状态并处理任何错误。但是,您遇到了 Promise 未被拒绝的问题。

了解 Fetch Promise 拒绝

Fetch Promise 的独特之处在于,它们仅因以下原因而拒绝网络错误。带有 4xx(客户端错误)和 5xx(服务器错误)等状态代码的响应被视为非网络错误。因此,它们不会触发拒绝。

解决问题

要克服此限制并处理与状态相关的错误,您需要手动抛出错误:

此代码片段验证响应状态 (response.ok)。如果不正常,它会抛出一个错误,触发 Promise#catch() 处理程序。这使您可以根据 HTTP 状态代码优雅地处理错误。

以上是如何优雅地处理基于 HTTP 状态代码的获取错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn