WritableStream DefaultWriter
ライターは、ReadableStream からデータをパイプするのではなく、WritableStream に直接書き込みたいときに使用されます。例えば:
function writeArrayToStream(array, writableStream) { const writer = writableStream.getWriter(); array.forEach(chunk => writer.write(chunk).catch(() => {}));
return writer.close();}
writeArrayToStream([1, 2, 3, 4, 5], writableStream) .then(() => console.log('すべて完了!')) .catch(e => console.error('ストリームにエラーが発生しました: ' + e));-
writer.desiredSizeint- ストリームの内部キューを満たすために必要なサイズ(整数)。常に 1、0(ストリームが閉じている場合)、または
null(ストリームにエラーがある場合)を返します。
- ストリームの内部キューを満たすために必要なサイズ(整数)。常に 1、0(ストリームが閉じている場合)、または
-
writer.closedPromise<void>- ライターが閉じているかどうかを示す Promise。ライターストリームが閉じられたときに Promise が解決され、ストリームにエラーがある場合は拒否されます。
-
abort(reasonstringoptional): Promise<void>- ストリームを中止します。このメソッドは、応答
undefinedで解決される Promise を返します。reasonはキャンセルの理由を示すオプションの人間が読める文字列です。reasonは基盤となるシンクの中止アルゴリズムに渡されます。この writable stream が TransformStream の一方である場合、その中止アルゴリズムは変換の読み取り側をreasonでエラー状態にします。
- ストリームを中止します。このメソッドは、応答
-
close(): Promise<void>- ライターを閉じることを試みます。残りの書き込みは、ライターが閉じられる前に処理を完了します。このメソッドは、ライターが正常に閉じて残りの書き込みを処理した場合に
undefinedで解決される Promise を返し、エラーが発生した場合は拒否されます。
- ライターを閉じることを試みます。残りの書き込みは、ライターが閉じられる前に処理を完了します。このメソッドは、ライターが正常に閉じて残りの書き込みを処理した場合に
-
releaseLock(): void- ストリームに対するライターのロックを解除します。一度解除されると、ライターはもはやアクティブではありません。このメソッドは、すべての保留中の
write(chunk)呼び出しが解決される前に呼び出すことができます。これにより、write操作をキューに入れ、ロックを解除し、以下の例のように別のソースから writable stream にパイプを開始することができます。
- ストリームに対するライターのロックを解除します。一度解除されると、ライターはもはやアクティブではありません。このメソッドは、すべての保留中の
let writer = writable.getWriter();// 前置きを書き込みます。writer.write(new TextEncoder().encode('foo bar'));// それがまだ書き込まれている間に、他の場所から残りの本文をパイプします。writer.releaseLock();await someResponse.body.pipeTo(writable);-
write(chunkany): Promise<void>- データのチャンクをライターに書き込み、操作が成功した場合に解決される Promise を返します。
- 基盤となるストリームは
anyよりも少ない種類の型を受け入れる場合があり、予期しない型に遭遇した場合は例外をスローします。