[typescript] Promise.all과 async/await의 조합

이번에는 TypeScript에서 Promise.all과 async/await를 함께 사용하는 방법에 대해 알아보겠습니다.

Promise.all과 async/await란?

Promise.all은 여러 개의 프로미스를 병렬로 처리하고, 모든 프로미스의 처리가 완료될 때까지 기다린 후 결과를 반환하는 메서드입니다. 한편, async/await는 비동기 코드를 동기식 코드처럼 작성할 수 있게 해주는 기능입니다.

Promise.all과 async/await의 조합 예시

다음은 TypeScript에서 Promise.all과 async/await를 함께 사용한 예시 코드입니다.

async function fetchData() {
  const [userData, postData] = await Promise.all([
    fetchUserData(),
    fetchPostData()
  ]);
  console.log(userData, postData);
}

async function fetchUserData() {
  // 유저 데이터를 가져오는 비동기 함수
  // ...
}

async function fetchPostData() {
  // 포스트 데이터를 가져오는 비동기 함수
  // ...
}

위 예시 코드에서 fetchData 함수는 fetchUserDatafetchPostData 함수를 병렬로 실행하고, 두 함수가 모두 완료될 때까지 기다린 후 유저 데이터와 포스트 데이터를 받아와 결과를 출력합니다.

이렇게 Promise.all과 async/await를 함께 사용하면 병렬로 작동해야 하는 여러 개의 비동기 작업을 효율적으로 처리할 수 있습니다.

요약

이번 포스트에서는 TypeScript에서 Promise.all과 async/await를 조합하여 병렬 비동기 작업을 처리하는 방법을 알아보았습니다. 이를 통해 코드를 보다 간결하게 작성하고, 비동기 작업을 효율적으로 처리할 수 있습니다.

더 많은 정보를 원한다면 다음 참조 자료를 참고해주세요.

다음 포스트에서 뵙겠습니다!