[typescript] await for...of 문을 사용하여 비동기 작업의 결과를 시각화하는 방법

TypeScript에서 for...of 루프와 await 키워드를 함께 사용하여 배열의 각 요소에 대해 비동기 작업을 수행하고 결과를 시각화하는 방법을 알아봅시다. 이런 방식으로 코드를 작성하면 동일한 비동기 작업을 병렬로 처리하고, 결과를 각각의 작업에 따라 처리할 수 있습니다.

1. 비동기 작업 수행 함수 작성

먼저, async 함수를 작성하여 비동기 작업을 수행하는 예제를 살펴보겠습니다.

async function performAsyncTask(item: number): Promise<string> {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve(`Task ${item} is done`);
    }, 1000);
  });
}

위의 코드에서는 performAsyncTask 함수가 각 요소에 대해 1초의 지연 시간을 갖는 비동기 작업을 수행하고, 해당 결과를 Promise로 반환합니다.

2. await for…of 루프를 통한 비동기 작업 결과 시각화

이제 await for...of 문을 사용하여 배열의 각 요소에 대해 비동기 작업을 수행하고 결과를 시각화하는 방법을 살펴보겠습니다.

async function processArray(array: number[]) {
  for await (const item of array) {
    const result = await performAsyncTask(item);
    console.log(result);
  }
}

const items = [1, 2, 3];
processArray(items);

위의 코드에서는 processArray 함수가 for await...of 루프를 사용하여 배열의 각 요소에 대해 performAsyncTask 함수를 호출하고, 각 작업의 결과를 콘솔에 출력합니다.

이번에는 TypeScript에서 await for...of 루프를 사용하여 비동기 작업의 결과를 시각화하는 방법에 대해 알아보았습니다. 이를 통해 병렬로 여러 개의 비동기 작업을 처리하고, 각 작업의 결과를 다룰 수 있는 유용한 방법을 확인할 수 있었습니다.