--- title: WritableStreamDefaultWriter.ready slug: Web/API/WritableStreamDefaultWriter/ready tags: - API - Property - Ready - Reference - Streams - Streams API - WritableStream - WritableStreamDefaultWriter translation_of: Web/API/WritableStreamDefaultWriter/ready ---
{{SeeCompatTable}}{{APIRef("Streams")}}
{{domxref("WritableStreamDefaultWriter")}} インターフェイスの ready
読み取り専用プロパティは、ストリームの内部キューの目的のサイズが非正から正に移行したときに解決する {{jsxref("Promise")}} を返し、バックプレッシャーが適用されなくなったことを通知します。
var promise = writableStreamDefaultWriter.ready;
{{jsxref("Promise")}}。
次の例は、ready
プロパティの2つの使用法を示しています。 最初は ready
を使用して、WritableStream
が書き込みを完了し、バイナリチャンクを送信する前にデータを受信できるようにします。 2番目も、WritableStream
の書き込みが完了しているかどうかをチェックしますが、今度はライターを閉じる前に書き込みを終了する必要があるためです。
function sendMessage(message, writableStream) { // defaultWriter は WritableStreamDefaultWriter 型です var defaultWriter = writableStream.getWriter(); var encoder = new TextEncoder(); var encoded = encoder.encode(message, {stream: true}); encoded.forEach(function(chunk) { // ストリームとそのライターがデータを // 受信できることを確認します。 defaultWriter.ready .then(function() { defaultWriter.write(chunk) .then(function() { console.log("Chunk written to sink.); }) .catch(function(err) { console.log("Chunk error: " + err); }); }); // ライターを閉じる前にすべてのチャンクが // 確実に書き込まれるように、ready を再度呼び出します。 defaultWriter.ready .then(function() { defaultWriter.close() .then(function() { console.log("All chunks written"); }) .catch(function(err) { console.log("Stream error: " + err); }); }); }); }
仕様 | 状態 | コメント |
---|---|---|
{{SpecName('Streams','#default-writer-ready','ready')}} | {{Spec2('Streams')}} | 初期定義 |
{{Compat("api.WritableStreamDefaultWriter.ready")}}