因此,我有一个动作创建器(返回一个函数-我使用redux-thunk)。在创建者返回的函数内部,我调用了一个dispatch方法并链接了then
和catch
方法。
如下所示:
export function actionCreator(someData) {
(dispath, getState) => {
return dispatch(someAction)
.then(resp => {
//do something
// GO TO CATCH
})
.catch(err => {
return err;
})
}
}
您在那看到开始关注的评论吗?那么,我怎样才能从那里去赶路呢?
谢谢!
答案 0 :(得分:4)
如果您想从.then()
的正文跳到后面的.catch()
,最简单的方法是抛出错误:
throw new Error('I meant to blow up here.');
您引发的错误将传递给.catch()
的主体(在您的情况下为err
变量)。
请注意,您的示例已经看起来很可疑:您的catch块正在捕获错误,然后返回好像错误是常规值一样,这意味着任何基于上游承诺的处理都将假定调度成功。您确定那是您想要的吗?