async / await

Lia·2024년 3월 12일
0
post-thumbnail

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 차이점

  • try는 예외를 가까운 catch로 자동전달해주지만
  • then은 예외를 catch로 자동전달해주지않음. 해당 then밑에 하나씩 계속 catch를 명시적으로 써주어야함.
profile
https://lia-portfolio.vercel.app/

0개의 댓글