Skip to content

L'approche naïve pour créer un ReadableStream à partir d'un Uint8Array est d'utiliser le constructeur ReadableStream et d'enfiler l'intégralité du tableau comme un seul morceau. Pour des morceaux plus grands, cela peut être indésirable car cela ne "stream" pas réellement les données.

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

Pour streamer les données en plus petits morceaux, créez d'abord une instance Blob à partir du Uint8Array. Ensuite, utilisez la méthode Blob.stream() pour créer un ReadableStream qui stream les données par morceaux d'une taille spécifiée.

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

La taille des morceaux peut être définie en passant un nombre à la méthode .stream().

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

// définir une taille de morceau de 1024 octets
const stream = blob.stream(1024);

Consultez Docs > API > Données Binaires pour une documentation complète sur la manipulation de données binaires avec Bun.

Bun édité par www.bunjs.com.cn