다음 구문으로 문제를 파악하는 데 어려움을 겪고 있습니다.
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는 예약어입니다.
…하지만 비동기 함수 내에서 합법적이지 않습니까?
디스패치 비트는 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
약속을 반환하거나하지.