반응형
비동기: 요청 보내고 딴거 하다 응답오면 대답, 동기: 요청 보내고 기다리기.
page이동 없이 데이터를 주고 받기 위해 주로 비동기 요청이 쓰입니다.(axios, xhr, fetch....)
오늘은 axios를 이용하는 두 형태를 보려 합니다.
#callback함수 이용시
axios.post(url, data, {
headers: {
"Content-Type": `application/json`,
},
})
.then((res)=> {
console.log(res);
})
console.log("응답 왔나요?") // 응답이 늦으면 "응답 왔나요?" 가 먼저 실행됩니다
응답에 대해 처리 하기 위해 callback함수를 이용한 형태입니다.
그런데 종종 res 값을 변수에 넣고 코드를 이어가고 싶을때가 있습니다. 이를 변수담기라 하겠습니다.
#변수담기
async () => {
let res = await axios.post(url, data, {
headers: {
"Content-Type": `application/json`,
},
})
console.log(res)
console.log("응답 왔나요?") // res가 실행되고 "응답 왔나요?" 가 실행됩니다
}
axios에 대한 값을 res에 담고, await을 통해 res -> "응답 왔나요?" 가 실행되게끔 합니다.( async await처리를 하지 않으면 undefined으로 뜨니 주의하세요!)
요약:
@ 비동기 처리에는 콜백함수, 변수에 담는 형식이 있다.
@ 변수에 담을경우 async await처리로 undefined을 피합니다.
끝!
코드 보기가 어려우시면 이 링크를 참주해주세요: https://medium.com/%EB%8F%84%EA%B9%A8%EB%B9%84-%EC%9D%B4%EC%95%BC%EA%B8%B0/%EB%B9%84%EB%8F%99%EA%B8%B0-%EC%B2%98%EB%A6%AC-in-react-22bafd59cb83
'개발 > react 생태계' 카테고리의 다른 글
Warning: Failed prop type: You provided a `value` prop to a form field without an `onChange` handler. (0) | 2020.06.18 |
---|---|
비동기 처리 in react (0) | 2020.06.15 |
클래스간에 데이터 전달 (상위-> 하위, 하위-> 상위)in react (0) | 2020.06.11 |
react에서 infinite-scroll (0) | 2020.06.08 |
this.function()와 this.function의 차이 (0) | 2020.06.05 |