[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
를 고려하여 코드의 가독성과 유지보수성을 높일 수 있습니다.
[참고 자료]