[typescript] await for...of 문을 사용하여 비동기 작업의 결과를 다른 서버로 전송하는 방법

TypeScript를 사용하여 여러 개의 비동기 작업의 결과를 수집하고, 이를 다른 서버로 전송하는 방법을 알아봅니다.

await for…of 문 소개

for...of 문은 배열 등의 반복 가능한 객체를 반복 처리할 수 있는 문법입니다. await와 함께 사용하면 비동기 작업을 순차적으로 처리할 수 있습니다.

예시 코드

다음은 for...of 문을 사용하여 여러 개의 비동기 작업을 수행하고, 결과를 다른 서버로 전송하는 TypeScript 코드입니다.

async function sendResultsToServer(results: Array<number>) {
  for await (const result of results) {
    await fetch('https://example.com/api/results', {
      method: 'POST',
      body: JSON.stringify({ result }),
      headers: {
        'Content-Type': 'application/json'
      }
    });
    console.log('Result sent to server:', result);
  }
}

// 비동기 작업 수행 예시
async function performAsyncTasks() {
  const results: Array<number> = [];

  // 여러 개의 비동기 작업을 수행하여 결과를 배열에 저장
  for (let i = 0; i < 5; i++) {
    const result = await performAsyncOperation(i);
    results.push(result);
  }

  // 결과 배열을 서버로 전송
  await sendResultsToServer(results);
}

위 코드에서 sendResultsToServer 함수는 for...of 문을 사용하여 results 배열의 각 요소를 서버로 전송하는 비동기 작업을 수행합니다.

결론

await for...of 문을 사용하면 여러 개의 비동기 작업의 결과를 순차적으로 처리하여 다른 서버로 전송할 수 있습니다. 이를 통해 비동기 코드를 깔끔하게 작성하고, 효율적으로 관리할 수 있습니다.

참고 문헌: MDN Web Docs - for…of statement