오류 처리: 모범 사례?

몇 가지 API 호출을 처리해야 하는 경우가 종종 있는데, 가장 좋은 오류 처리 방법이 무엇인지 잘 모르겠습니다.

다음은 내가 많이 쓰는 패턴의 예입니다. 던지기를 반환처럼 처리하고 오류가 "버블링"되도록 합니다.

일반적으로 그것은 저에게 효과적이지만 이를 처리하는 더 좋은 방법이 있는지 잘 모르겠습니다. 또는 일부 표준 관행.

조언이나 생각을 주시면 감사하겠습니다!

async function someApiReq(id) {
  try {
    const resp = fetch('https://foo.com/api' { body: JSON.stringify(id) });
    if(!resp.ok) throw resp;
    return await resp.json().data
  } catch(e) {
    if(e instanceof ApiError) {
      throw e.apiMessage
    }
    throw e
  }
}

async function someOtherApiReq(id) {
  try {
    const resp = fetch('https://bar.com/api' { body: JSON.stringify(id) });
    if(!resp.ok) throw resp;
    return await resp.json().data
  } catch(e) {
    throw e
  }
}

(async () => {
  try {
    const id = 1;
    const data = someApiReq(id);
    const otherData = someOtherApiReq(data.id);
    console.log(otherData);
  } catch(e) {
    console.error(e)
  }
})();

좋은 웹페이지 즐겨찾기