为什么我会得到一个'然后才会出现功能错误'?

时间:2018-04-02 13:19:37

标签: javascript reactjs asynchronous react-native redux

我正在尝试调度并在我的购物车操作中调用函数getUnaddedCartItems:

cartRedirect = () => {
    this.props.dispatch(getUnaddedCartItems().then((result) => {
        if (result.length === 0) {
            this.setState({unaddedCartItems: result}); 
        }

    }).catch(err => {
        Actions.cart();
    }));
}

我能够进入我的行动并且突破点在第一行击中但是由于某种原因不能继续前进到下一行并且立即跳回来!

enter image description here

然后我收到错误。我不明白为什么它不会尝试进入我的异步调用。任何人都可以告诉我为什么会发生这种情况以及如何解决错误?

enter image description here

1 个答案:

答案 0 :(得分:1)

你应该调度thunk动作,然后处理返回的promise。

this.props.dispatch(createMyThunkActionReturningPromise())
    .then(handleMyPromise)
    .catch(handleMyPromseError);

问题是你要派遣承诺,而不是功能(thunk action)。