fetch로 데이터 요청
ReadableStream을 청크 단위로 읽기
- 읽은 청크를
TextDecoder로 디코딩하기
- 디코딩된 텍스트를 병합하기
async function fetchStream() {
const response = await fetch(url);
// 1. ReadableStream 가져오기
const reader = response.body.getReader();
const decoder = new TextDecoder();
let buffer = "";
while (true) {
// 2. 스트림의 조각(Chunk) 읽기
const { value, done } = await reader.read();
if (done) break;
// 3. 바이트 데이터를 텍스트로 변환
const str = decoder.decode(value, { stream: true });
buffer += str
}
return buffer
}
참고
ReadableStream
TextDecoder