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

TypeScript는 JavaScript의 확장된 기능을 제공하는 프로그래밍 언어로, 비동기 처리를 위해 await 키워드를 사용할 수 있습니다. for...of 루프를 사용하여 비동기 작업의 결과를 즉시 반영하고 싶은 경우, 다음과 같은 방법을 사용할 수 있습니다.

1. 비동기 작업을 수행하는 함수 정의

가장 먼저, 비동기 작업을 수행하는 함수를 정의해야 합니다. 이 함수는 Promise를 반환하거나 async/await를 사용하여 비동기 작업을 처리할 수 있습니다.

async function asyncTask(item: any): Promise<any> {
  // 비동기 작업 수행
  return await someAsyncOperation(item);
}

위 코드에서 asyncTask 함수는 아이템을 입력으로 받아 해당 아이템에 대한 비동기 작업을 수행하는 예시입니다.

2. await for…of 루프를 사용하여 비동기 작업 수행

다음으로, await 키워드와 for...of 루프를 결합하여 비동기 작업의 결과를 즉시 반영할 수 있습니다.

async function processItems(items: any[]): Promise<void> {
  for await (const item of items) {
    const result = await asyncTask(item);
    console.log(`결과: ${result}`);
  }
}

const items: any[] = [/* 아이템들의 배열 */];
processItems(items);

위 코드에서 processItems 함수는 입력으로 받는 아이템들의 배열을 순회하면서 각 아이템에 대해 asyncTask를 호출하고, 그 결과를 즉시 반영하여 출력합니다.

마무리

TypeScript에서 await for...of 문을 사용하여 비동기 작업의 결과를 즉시 반영하는 방법에 대해 간단히 살펴보았습니다. 이를 통해 비동기 코드를 보다 간결하고 가독성 있게 작성할 수 있습니다.

더 많은 정보를 원하시면 TypeScript 공식 문서를 참고하시기 바랍니다.