데이터 구조를 확인하자

비동기 문제인 줄 알았는데, 물론 공부가 돼서 좋았지만 받은 데이터를 제대로 확인하지 않아서 발생한 문제였다.

매번 확인했는데 이번에는 왜 안했지! 몇일동안 해메다가 발견하고 나서 허탈했다.

const responseKakao =  async result =>{
  	// ...생략
        const res = await axios.post(`${url}/user/kakao`, body, headers)  
        const {success, data} = res	// 여기가 문제다!!!!
  
        if(success==true){
            localStorage.setItem("token", data.token)
            window.location.reload()
        }
        else if(success==false){
            alert("카카오 로그인에 실패하였습니다.")
        } 
        else{   
            console.log("대앵")  
        }
    }

서버에 요청한 데이터를 res로 받아오는데, 이 res는 아래와 같이 넘어온다.

계속 대앵만 나왔었는데, 받은 데이터의 구조를 보니 ressucess가 없으니 당연히 저 if문과 else if문에 걸릴리가 없다.
res.data안에 sucess와 내가 원하는 data를 받아오는 구조로 되어있으니 될리가 없는 것..ㅎ

위의 코드에서 4번째줄만 아래와 같이 코드를 수정해주면 된다.

const {success, data} = res.data  

너무 사소해서 부끄럽기까지한 해결..암튼 속시원하다.
덕분에 비동기 처리 공부했다😊

좋은 웹페이지 즐겨찾기