작성
·
669
1
axios가 promise 기반이라면, promise chaining이 가능한것처럼 axio는 then의 return 값이 다시 axios인가요?
그리고 제공해주신 링크를 읽어보면서 async와 chaining의 차이를 잘 모르겠습니다. 둘다 비동기 작업이 끝나길 기다리다가 다음 비동기 작업으로 넘어가는거 맞죠?
답변 2
0
다시 읽어보니 이해가 되는 것 같아요... ㅎㅎ 그런데 또 궁금한게 생겼습니다. Promise.resolve를 then으로 받으면 then에서 return으로 객체를 반환하거나 비동기 작업이 포함된 새로운 Promise 객체를 반환할 수 있잖아요. 객체를 반환할 때는 then이 Promise.resolve(객체) 형태로 반환되고 새로운 Promise를 반환할 때는 비동기 작업의 결과에 따라 상태가 바뀐 Promise를 받는거죠? 객체를 넘길 때는 바로 then으로 받는것 같아서 질문드려요!
0
안녕하세요 대현님, 액시오스가 프로미스 기반이라고 말씀 드린 부분은 일반적인 HTTP 라이브러리와 다르게 액시오스에서 제공하는 API의 호출 결과에 프로미스가 감싸져 있다 정도로 이해하시면 좋을 것 같습니다. 그리고 프로미스 체이닝에 대해서 질문하셨는데요. 상품의 재고를 받아오는 API를 액시오스를 호출한다고 했을 때의 결과는 아래와 같습니다.
axios.get('products/stock'); // Promise.resolve(1);
여기에 .then()을 이용해서 체이닝 하는 것은 결국 .then() 안의 반환 결과를 또 chaining 한다는 관점으로 보셔야 할 것 같은데요. 일단 액시오스를 떠나서 프로미스 체이닝에 대해서 좀 더 학습을 하시는게 좋을 것 같습니다 :)
async await와 프로미스의 개념은 직접 코드로 작성해보시는게 더 이해하시기가 수월할 것 같아요. 이후 강좌들에서 좀 더 자세히 다루고 있으니 참고하시면 좋을 것 같습니다 :)
수강해 주셔서 감사합니다!