async 비동기함수를 선언해주고
await 프로미스를 반환할때까지 기다려주는 역할
아래에서는 post 요청작업을 기다리고 요청작업은 프로미스를 반환하게 된다.
//참여 요청
const sendJoinStatus = useCallback(async () => {
try {
await axios.request({
method: 'post',
url: `${api}/boards/${boardId}/join`,
data: { isJoin: true },
headers: {
Authorization: token,
},
});
setEventData((prevData) => ({
...prevData,
currentNum: prevData.currentNum + 1,
}));
fetchParticipants(); // 참여자 목록을 다시 불러옴
} catch (error) {
alert('로그인 후 이용해주세요.');
console.error('Error sending join status:', error);
}
}, [api, boardId, token]);
이후 정상처리 됐다면 아래 코드를 실행한다.
setEventData((prevData) => ({
...prevData,
currentNum: prevData.currentNum + 1,
}));
fetchParticipants(); // 참여자 목록을 다시 불러옴
try / catch
try / then 차이점