throw 대신 return으로 에러를 반환하는 이유가 궁금합니다.
486
작성한 질문수 3
안녕하세요 선생님, 예제로 주신 fetch.js 파일의 try, catch 문에서 throw 대신 return을 사용하신 이유가 궁금합니다.
const fetchData = { (... 생략) async main(url, option){ this.option = Object.assign({}, this.defaultFetch, option); this.setSendData(); try { const response = await fetch(url, this.option); return response.ok ? await this.convertData(response) : {error: response, errorCode: "OKError"}; } catch (error){ //server down return {error: error, errorCode: "NetWork"}; }; }, (... 생략) };
저는 fetchData를 다음과 같이 사용할 것 같은데, 이 방식이 맞을까요? 만약 맞다면, 기능은 결국 동일하므로 그냥 단순히 취향 차이인지, 각각의 장단점이 있는지가 궁금합니다.
// 에러를 return했을 때의 예상 코드 fetchData.main(url, option).then((someData) => { if (someData.error) { // TODO: 에러가 발생했을 때 수행할 작업 } }); // 에러를 throw했을 때의 예상 코드 fetchData .main(url, option) .then((someData) => {}) .catch((error) => { // TODO: 에러가 발생했을 때 수행할 작업 });
답변 0
교재(3쇄)와 강의 내용 문의
0
16
2
섹션2번 부분 강의 화면이 잘 못된것 같아서 문의합니다.
0
19
1
call stack 표현이 잘못표현된것이 아닌가요?
0
50
2
React 와 Virtual DOM 의 이야기 영상 실행이 안됩니다.
0
34
1
일반 강의와 차이점?
1
52
1
!= 연산자의 역할
0
35
1
중요하진 않지만 설명하신부분에서 안된부분..
1
34
1
강의 듣는 순서가 어떻게 되나요?
0
48
1
stopPropagation()에 대해서 질문 있습니다.
0
49
2
자바스크립트 주석에 이상한 점이 있어서 문의드립니다.
0
586
1
소스코드 깃헙이 있나요?
0
341
0
5:00 event.type = undefined
0
546
1
response object
0
268
0
비동기 통신, 실행
0
287
1
프로미스를 쓰는 이유
0
248
0
set() 트랩 준수사항에 대해서 질문입니다!
0
201
0
try-catch 사용에 대하여
0
235
0
클래스는 호이스팅이 되지 않나요?
0
251
0
constructor(){ super() }; 에 대해 문의 드립니다.
0
191
0
질문있습니다~!
0
429
1
질문있습니다!
1
268
1
강의 자료 관련 문의
0
313
0
질문드립니다!
0
194
1
실무 질문
0
311
3





