WritableStreamDefaultWriter.ready
Experimental
これは実験的な機能です。
本番で使用する前にブラウザー互換性一覧表をチェックしてください。
WritableStreamDefaultWriter
インターフェイスの ready
読み取り専用プロパティは、ストリームの内部キューの目的のサイズが非正から正に移行したときに解決する Promise
を返し、バックプレッシャーが適用されなくなったことを通知します。
構文
var promise = writableStreamDefaultWriter.ready;
値
例
次の例は、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);
});
});
});
}
仕様
仕様 | 状態 | コメント |
---|---|---|
Streams ready の定義 |
現行の標準 | 初期定義 |
ブラウザーの互換性
BCD tables only load in the browser