捕获带有响应状态的提取错误
您正在将 fetch() API 与 Redux 和 redux-promise-middleware 库结合使用。在您的代码片段中,您尝试检查响应状态并处理任何错误。但是,您遇到了 Promise 未被拒绝的问题。
了解 Fetch Promise 拒绝
Fetch Promise 的独特之处在于,它们仅因以下原因而拒绝网络错误。带有 4xx(客户端错误)和 5xx(服务器错误)等状态代码的响应被视为非网络错误。因此,它们不会触发拒绝。
解决问题
要克服此限制并处理与状态相关的错误,您需要手动抛出错误:
此代码片段验证响应状态 (response.ok)。如果不正常,它会抛出一个错误,触发 Promise#catch() 处理程序。这使您可以根据 HTTP 状态代码优雅地处理错误。
以上是如何优雅地处理基于 HTTP 状态代码的获取错误?的详细内容。更多信息请关注PHP中文网其他相关文章!