[typescript] 프로미스 체이닝에서 중복된 코드를 피하는 방법은?

예를 들어, 다음과 같이 중복된 코드가 있는 프로미스 체이닝이 있다고 가정해 봅시다.

getData()
  .then((result1) => {
    // 중복 코드
    console.log(result1);
    return processData(result1);
  })
  .then((result2) => {
    // 중복 코드
    console.log(result2);
    return processMoreData(result2);
  })
  .then((result3) => {
    // 중복 코드
    console.log(result3);
  });

위 코드에서 “중복 코드” 부분을 함수로 추출하여 중복을 제거할 수 있습니다.

function logAndReturnData(data: any) {
  console.log(data);
  return data;
}

getData()
  .then(logAndReturnData)
  .then(processData)
  .then(logAndReturnData)
  .then(processMoreData)
  .then(logAndReturnData);

이렇게 하면 코드가 더 간결해지고 가독성이 좋아지며, 유지보수가 쉬워집니다.

또 다른 방법으로는 async/await를 사용하여 프로미스 체이닝을 깔끔하게 표현하는 방법도 있습니다. 이를 통해 중복을 피하고 가독성을 높일 수 있습니다.

참고문헌: