您可以使用redux-promise中间件,如果该操作已完成、进行中或失败,您的操作将返回您的承诺。因此,您可以根据承诺轻松管理问题并在您需要的正确时间拨打电话。我的github帐户中有一个示例示例,它将解释如何使用它。如果你觉得它有用,请告诉我。
下面是suedo代码
动作控制器
export const action_CALL = () => {
return {
type: SOME_CALL,
payload: new Promise((resolve, reject) => {
let wait = setTimeout(() => {
resolve('DUMMY ... Few questions answered in x mins');
}, 2000)
}),
};
};
减速器
export const countReducer = typeToReducer({
[SOME_CALL]: {
PENDING: (state, action) => ({
...state,
answered: false,
}),
REJECTED: (state) => ({
...state,
answered: false,
}),
FULFILLED: (state, action) => ({
answered: true,
callResponse: action.payload,
})
}
}, initState);
这种方法将为您提供细粒度的控制。