Ste*_*law 4 javascript asynchronous async-await redux
我正在尝试将async/await语法合并到我的Redux操作中,但由于某种原因,它不起作用.我不能为我的生活看到以下问题:
const actions = {
load: async (staff, date) => dispatch => {
const data = {
dateFrom: date,
dateTo: date,
person: staff,
personType: 'staff'
};
const events = utils.getDataPromise('json/events/load', data);
const classes = utils.getDataPromise('json/timetable/load', data);
dispatch({
type: actions.MYDAY_LOAD,
staff,
date: date || new Date(),
events: await events,
classes: await classes
});
},
}
Run Code Online (Sandbox Code Playgroud)
utils函数肯定会返回一个promise.
由于箭头函数语法,这是一个常见的错误.
您的load
函数是async
返回匿名箭头函数dispatch => {...}
.
await
只有当它在async
函数内部并且你的await
调用在匿名返回函数内部时才有效,这不是async
它无法工作的原因.async
之前移动dispatch
,这应该工作.
const actions = {
load: (staff, date) => async dispatch => {...}
// ^^^^^ move it here
...
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
166 次 |
最近记录: |