현재 돌아가는 노드 프로젝트 중에 axios가 제일 많을 거라고 생각한다.
하지만 요즘은 fetch를 쓰려는 사람들이 많다.
가장 큰 이유는 axios는 401, 500 이런 status code를 promise reject처리한다.
따라서 저런 것들에 대한 error처리를 해줘야 한다.
그렇지 않으면 비동기 호출에서 exception이 계속 발생하고 어떤 사이드 이펙트가 있을 지 알 수 없다.
하지만 fetch는 timeout인 경우가 아니면 예외처리하지 않는다.
이게 중요한 이유는
내가 만든 api라면 status를 제어권 아래두고 처리할 수 있으나
그렇지 않은 경우 상황에 따른 status를 정확히 알 수가 없다.
알 수 없는 에러들로 혼란을 겪게 된다.
현재 프로젝트는 호출에 대한 cancel이 필요할 지도 모른다는 생각 때문에 axios를 선택했지만
그렇지 않다면 fetch로 진행할 것이다.
모질라 공식문서에도 fetch가 있고 표준이 될 거라고 생각한다.
'nodeJS' 카테고리의 다른 글
mocha]Resolution method is overspecified. Specify a callback *or* return a Promise; not both. (0) | 2020.01.16 |
---|---|
npm 설치 가능한 버전 보기 (0) | 2019.08.16 |
Conflicts in NextJs and Routing-Controllers (0) | 2019.07.30 |
또 다른 circular dependency 처리 (0) | 2019.04.09 |
nodeJs 구조 (0) | 2018.04.18 |