인프런 커뮤니티 질문&답변
dispatch를 사용하는 함수 안에 async await
작성
·
3K
0
회원가입을 요청하는 로직안에 성공과 실패에 따른 분기문을 한곳에 실행하고 싶은데 방법이 있나요?
(예시)
const onSubmit = useCallback(async () => {
try {
const result = await dispatch({
type: SIGN_UP_REQUEST,
data: { email, password, nickname },
});
message
.success("회원가입에 성공하셨습니다.")
.then(() => Router.push("/").then());
} catch (signupError) {
message.error(JSON.stringify(signupError, null, 4)).then();
}
}, []);
답변 3
1
0
yjkwon9073
질문자
1. axios.post 후에 then cath 붙이 된다는것은 사가나 thunk에서 사용하는 로직안을 뜻하는건가요?
2. 현 로직에 dispatch 대신 axios.post를 사용하면 된다는 뜻인가요?
=> 이렇게 사용하게 된다면 saga의 takelatest나 takeEvery같은 saga 헬퍼 기능은 쓰기 힘들어 지겠네요.
const onSubmit = useCallback(async () => {
try {
const response = await axios.post("/user", { email, password, nickname });
message.success("회원가입에 성공하셨습니다.").then(() => Router.push("/").then());
} catch (signupError) {
message.error(JSON.stringify(signupError, null, 4)).then();
}
}, []);
0




