Skip to content

Der naive Ansatz zum Erstellen eines ReadableStream aus einem Buffer besteht darin, den ReadableStream-Konstruktor zu verwenden und das gesamte Array als einzelnen Chunk zu enqueue. Für einen großen Buffer ist dies möglicherweise nicht wünschenswert, da dieser Ansatz die Daten nicht "streamend" in kleineren Chunks bereitstellt.

ts
const buf = Buffer.from("hello world");
const stream = new ReadableStream({
  start(controller) {
    controller.enqueue(buf);
    controller.close();
  },
});

Um die Daten in kleineren Chunks zu streamen, erstellen Sie zuerst ein Blob aus dem Buffer. Verwenden Sie dann die Blob.stream() Methode, um einen ReadableStream zu erstellen, der die Daten in Chunks einer bestimmten Größe streamt.

ts
const buf = Buffer.from("hello world");
const blob = new Blob([buf]);
const stream = blob.stream();

Die Chunk-Größe kann durch Übergeben einer Zahl an die .stream() Methode festgelegt werden.

ts
const buf = Buffer.from("hello world");
const blob = new Blob([buf]);

// Chunk-Größe von 1024 Bytes festlegen
const stream = blob.stream(1024);

Siehe Docs > API > Binärdaten für vollständige Dokumentation zur Manipulation von Binärdaten mit Bun.

Bun von www.bunjs.com.cn bearbeitet