inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

모던 자바스크립트(ES6+) 심화

4. Fetch 프로세스: JSON 데이터, Blob 파일

throw 대신 return으로 에러를 반환하는 이유가 궁금합니다.

504

이우철

작성한 질문수 3

0

안녕하세요 선생님, 예제로 주신 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: 에러가 발생했을 때 수행할 작업
  });

es6 javascript

답변 0

저자 블로그에 있는 강의는 어떤 강의인가요?

0

7

0

[해결됨]윈도우즈 환경에서 타입 스크립트 파일이 실행이 안됩니다.

1

24

5

4강 카드뉴스 자동화 자료가 안보입니다!!

0

33

2

윈도우즈 환경에서 진행중입니다.

0

28

2

4강 카드뉴스 자동화 자료

4

74

1

라이브 강의 영상 녹화본이 있을까요?

0

73

1

인증이 늦었습니다ㅜㅜ 확인부탁드립니다

0

71

1

스웨거 접속이 안되는데 확인 부탁드립니다.

0

45

1

설명이 잘못된거같습니다.

1

53

2

자바스크립트 주석에 이상한 점이 있어서 문의드립니다.

0

617

1

소스코드 깃헙이 있나요?

0

359

0

5:00 event.type = undefined

0

560

1

response object

0

281

0

비동기 통신, 실행

0

305

1

프로미스를 쓰는 이유

0

262

0

set() 트랩 준수사항에 대해서 질문입니다!

0

211

0

try-catch 사용에 대하여

0

252

0

클래스는 호이스팅이 되지 않나요?

0

260

0

constructor(){ super() }; 에 대해 문의 드립니다.

0

211

0

질문있습니다~!

0

447

1

질문있습니다!

1

289

1

강의 자료 관련 문의

0

329

0

질문드립니다!

0

210

1

실무 질문

0

337

3