我很努力找出问题的语法如下:
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);
}
};
我不断收到错误说:
等待是一个保留字
......不过,是不是一个异步函数中的法律?
调度位从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
的调用者是否期待sendVerificationEmail
返回一个承诺或没有。