gpt4 book ai didi

javascript - 处理 React Redux 应用程序中的异步错误

转载 作者:行者123 更新时间:2023-11-30 11:30:34 24 4
gpt4 key购买 nike

有时丹会发推文

“当我看到的时候我会畏缩

`.then(() => dispatch(...)).catch(...)` 

在 React 项目中。如果一个组件在调度期间抛出,你就会陷入困境。”

并说解决方案非常简单。只是不要在呈现 UI 的 then() 之后链接 catch() 。而是将错误处理程序作为第二个参数传递给 then()。

谁能解释一下为什么会这样。

在我的例子中,我正在进行一个 ajax 调用,所以我假设我将进入 200 的任何内容作为服务器响应,并进入内部捕获任何不是 200 的内容,即来自服务器的错误。我在这里遗漏了什么吗?

最佳答案

Dan 的意思是,在 Async 请求中,您希望成功调用会导致 .then() 被调用,因为您是 .then() 中调度一个 Action ,这反过来会更新 redux 存储,从而更新 UI,所以如果 UI 更新过程中有任何错误,.catch () 也将被调用,而您希望它仅在服务器返回错误时被调用

解决办法就是这样处理

.then(
function (){
//handle success
dispatch({...})
},
function () {
//handle reject() and Error for Async request

})

关于javascript - 处理 React Redux 应用程序中的异步错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46376290/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com