Skip to content

Uint8Array 에서 ReadableStream 을 생성하는 단순한 방법은 ReadableStream 생성자를 사용하고 전체 배열을 단일 청크로 인큐하는 것입니다. 큰 청크의 경우 실제로 데이터를 "스트리밍"하지 않으므로 바람직하지 않을 수 있습니다.

ts
const arr = new Uint8Array(64);
const stream = new ReadableStream({
  start(controller) {
    controller.enqueue(arr);
    controller.close();
  },
});

데이터를 작은 청크로 스트리밍하려면 먼저 Uint8Array 에서 Blob 인스턴스를 생성합니다. 그런 다음 Blob.stream() 메서드를 사용하여 지정된 크기의 청크로 데이터를 스트리밍하는 ReadableStream 을 생성합니다.

ts
const arr = new Uint8Array(64);
const blob = new Blob([arr]);
const stream = blob.stream();

.stream() 메서드에 숫자를 전달하여 청크 크기를 설정할 수 있습니다.

ts
const arr = new Uint8Array(64);
const blob = new Blob([arr]);

// 1024 바이트의 청크 크기 설정
const stream = blob.stream(1024);

Bun 으로 이진 데이터를 조작하는 방법에 대한 전체 문서는 문서 > API > 이진 데이터 를 참조하세요.

Bun by www.bunjs.com.cn 편집