gpt4 book ai didi

javascript - await 是 async 函数内部的保留字错误

转载 作者:IT王子 更新时间:2023-10-29 02:50:31 27 4
gpt4 key购买 nike

我正在努力用以下语法找出问题所在:

export const sendVerificationEmail = async () =>
(dispatch) => {
try {
dispatch({ type: EMAIL_FETCHING, payload: true });
await Auth.sendEmailVerification();
dispatch({ type: EMAIL_FETCHING, payload: false }))
} catch (error) {
dispatch({ type: EMAIL_FETCHING, payload: false });
throw new Error(error);
}
};

我一直收到错误提示:

await is a reserved word

...但是在异步函数中这不是合法的吗?

调度位来自 react-thunk图书馆。

最佳答案

为了使用await,直接包含它的函数需要是异步的。根据您的评论,将 async 添加到内部函数可以解决您的问题,因此我将在此处发布:

export const sendVerificationEmail = async () =>
async (dispatch) => {
try {
dispatch({ type: EMAIL_FETCHING, payload: true });
await Auth.sendEmailVerification();
dispatch({ type: EMAIL_FETCHING, payload: false }))
} catch (error) {
dispatch({ type: EMAIL_FETCHING, payload: false });
throw new Error(error);
}
};

可能,您可以从外部函数中删除 async,因为它不包含任何异步操作,但这取决于 sendVerificationEmail() 的调用者是否是期望它返回一个 promise 或不返回。

关于javascript - await 是 async 函数内部的保留字错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42299594/

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