스트림과 비동기 반복자
개념 설명
대용량 데이터를 메모리 효율적으로 처리하기 위한 JavaScript의 스트림 API와 비동기 반복자(async iterator) 패턴으로, 데이터를 청크 단위로 처리하여 메모리 사용량을 최소화.
핵심 포인트
- Streams API: ReadableStream, WritableStream, TransformStream으로 데이터 파이프라인 구성
- 비동기 제너레이터: async function*로 비동기 데이터 순차 생성
- for await...of: 비동기 반복자를 간편하게 순회
- 메모리 효율성: 전체 데이터를 메모리에 올리지 않고 청크 단위 처리
예시 코드
// 스트림으로 대용량 파일 처리
async function* readLargeFile(url) {
const response = await fetch(url);
const reader = response.body.getReader();
const decoder = new TextDecoder();
while (true) {
const { done, value } = await reader.read();
if (done) break;
yield decoder.decode(value, { stream: true });
}
}더 많은 내용을 확인하세요! 📚
“스트림과 비동기 반복자”의 전체 내용을 보시려면 프리미엄 플랜이 필요합니다.
✨ 모든 기술 문서 무제한 액세스
📝 실습 예제와 상세한 코드 설명
🎯 면접 예상 질문과 답변 가이드