[typescript] await for...of 문을 사용하여 비동기 작업의 결과를 파일로 저장하는 방법

JavaScript 및 TypeScript에서 await for…of 문을 사용하여 비동기 작업의 결과를 파일로 저장하는 방법을 살펴보겠습니다.

1. 파일 시스템 모듈 import

먼저, Node.js의 파일 시스템 모듈을 사용하여 파일에 데이터를 쓰는 방법을 알아보겠습니다.

import * as fs from 'fs/promises';

2. 비동기 함수

다음으로, 비동기 함수를 정의하고 해당 함수 내에서 for…of 루프를 사용하여 비동기 작업을 수행하고 결과를 파일에 저장하는 방법을 살펴보겠습니다.

async function writeFileWithAsyncIterator() {
  const data = ['data1', 'data2', 'data3']; // 비동기 작업을 수행할 데이터

  for await (const item of data) {
    // 비동기 작업 수행
    const result = await someAsyncFunction(item);
    
    // 파일에 결과를 추가
    await fs.appendFile('./result.txt', `${result}\n`);
  }
}

위의 코드에서는 비동기 작업을 수행할 데이터 배열을 정의하고, await for…of 문을 사용하여 각 데이터를 반복하면서 비동기 작업을 수행하고 그 결과를 파일에 추가하고 있습니다.

3. 실행

마지막으로, 함수를 호출하여 비동기 작업을 시작합니다.

writeFileWithAsyncIterator()
  .then(() => console.log('File write complete'))
  .catch((err) => console.error('File write error: ', err));

이제 위의 코드를 실행하면, 데이터 배열을 순회하면서 비동기 작업을 수행하고, 그 결과를 파일에 저장하는 것을 확인할 수 있습니다.

이것으로 JavaScript 및 TypeScript에서 await for…of 문을 사용하여 비동기 작업의 결과를 파일로 저장하는 방법을 알아보았습니다.

참조:

기타: 이 예시는 TypeScript를 기반으로 하였으며, JavaScript에서도 동일하게 적용할 수 있습니다.