【发布时间】:2019-08-05 08:24:24
【问题描述】:
管理 Redux-Thunk 异步请求的最佳方法应该是什么。 就像我在服务器上发布一些数据一样,连接的组件将通过
检查错误方法 1:我只是在我的动作创建者中返回新的 Promise 以使用 then 检查解决或拒绝
const update = (todoId, isDone) => (dispatch) =>
new Promise(function(resolve, reject) {
dispatch({
type: 'SET_SAVING',
saving: true
});
// Function is expected to return a promise
callUpdateApi(todoId, isDone).then(updatedTodo => {
dispatch({
type: 'SET_SAVING',
saving: false
});
resolve(updatedTodo);
}).catch(error => {
// TBD: Handle errors for Redux
reject(error);
})
});
方法2:通过if-else条件使用dispatch来管理render方法中的错误
const update = (todoId, isDone) => (dispatch) => {
dispatch({
type: 'SET_SAVING',
saving: true
});
// Function is expected to return a promise
callUpdateApi(todoId, isDone).then(updatedTodo => {
dispatch({
type: 'SET_SAVING',
saving: false
});
});
// TBD: Handle errors
}
请帮我找到最好的解决方案 我应该使用动作创建者的“return Promise”还是只使用调度动作来存储错误和成功处理。 因为在成功时我需要在我的组件中做一些事情,并且在出错时也
【问题讨论】:
标签: javascript reactjs redux react-redux redux-thunk