[typescript] 타입스크립트에서 비동기 이터레이션을 사용하는 대표적인 예시
TypeScript에서 비동기 이터레이션을 구현하기 위해 Generator
와 AsyncIterator
를 사용하는 것이 일반적입니다.
Generator
Generator
는 함수의 실행을 중간에 멈추고 재개할 수 있는 기능을 제공합니다.
다음은 Generator
를 사용하여 간단한 비동기 이터레이터를 구현하는 예시입니다.
function* asyncGenerator() {
let i = 0;
while (i < 3) {
yield new Promise<number>((resolve) =>
setTimeout(() => resolve(i++), 1000)
);
}
}
const iterator = asyncGenerator();
AsyncIterator
AsyncIterator
는 비동기 이터레이션을 위한 인터페이스입니다.
다음은 AsyncIterator
를 사용하여 앞서 구현한 Generator
를 비동기적으로 순회하는 예시입니다.
async function iterateAsyncIterator() {
for await (const item of asyncGenerator()) {
console.log(item);
}
}
iterateAsyncIterator();
이처럼 Generator
와 AsyncIterator
를 조합하여 TypeScript에서 비동기 이터레이션을 쉽게 구현할 수 있습니다.
더 자세한 내용은 공식 TypeScript 문서를 참고하세요.