[typescript] 프로미스 체이닝에서 `.then()` 메소드와 `.catch()` 메소드를 여러 번 사용하면 가독성이 떨어질까요?

async/await를 사용하면 비동기 코드를 동기식으로 작성하는 것처럼 보이므로, 복잡한 프로미스 체이닝을 피하고 처리할 수 있습니다. 아래는 async/await를 사용하여 프로미스 체이닝을 간소화하는 예시입니다.

async function fetchData() {
  try {
    const data1 = await getData1();
    const data2 = await getData2(data1);
    return data2;
  } catch (error) {
    console.error(error);
  }
}

위의 코드에서 getData1()getData2() 함수는 각각 프로미스를 반환하는 비동기 함수입니다. async/await를 사용하면 비동기 처리 부분이 간결해지고, 오류 처리도 try/catch 문을 통해 쉽게 처리할 수 있습니다.

따라서 프로미스 체이닝이 지나치게 중첩되거나 복잡해지는 경우, async/await를 고려하여 코드의 가독성과 유지보수성을 높일 수 있습니다.

[참고 자료]