我正在这样做:await dispatch(myfunction(arg1))
,如果我添加.then()
或
const x = await dispatch(myfunction(arg1))
console.log(x)
都以未定义的形式回来...
但是当我在浏览器中查看响应时,我会得到期望的数据
有什么想法吗?
动作创建者只是经过一些中间件并调用了一些动作,不知道为什么它没有定义
答案 0 :(得分:3)
调度不返回承诺。它只是触发更新发生。 如果您需要使用Promise,请考虑使用redux-thunk,然后执行以下操作:
lock (_lockObject)
答案 1 :(得分:0)
您可以将redux-thunk
模块添加到项目中。如果您从动作中返回dispatch
函数,则该模块允许通过返回诺言来连接调度动作,例如:
// I normally use action creator
const myAction = (args) => dispatch => {
return dispatch({ type: 'MY_ACTION', payload: args });
}
因此您可以串联:
const applyActions = () => {
myAction('test').then(() => {});
}