--- 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")}}