gpt4 book ai didi

javascript - 等待关键字在 Redux 操作中不起作用

转载 作者:搜寻专家 更新时间:2023-11-01 05:28:14 24 4
gpt4 key购买 nike

我正在尝试将 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
});
},
}

utils 函数肯定会返回一个 promise。

最佳答案

由于箭头函数语法,这是一个常见的错误。

您的load 函数是async 但返回一个匿名箭头函数dispatch => {...}

await 只有在 async 函数中并且您的 await 调用在非 async 的匿名返回函数中时才有效 这就是它不起作用的原因。将 async 移动到 dispatch 之前,这应该可以工作。

const actions = {
load: (staff, date) => async dispatch => {...}
// ^^^^^ move it here
...
}

关于javascript - 等待关键字在 Redux 操作中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45684688/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com