WritableStreamDefaultWriter: свойство ready
Примечание: Эта функция доступна в Веб-воркерах.
Чтение-только свойство ready интерфейса WritableStreamDefaultWriter возвращает Promise, который разрешается, когда желаемый размер внутренней очереди потока переходит из не положительного в положительное значение, сигнализируя о том, что больше не применяется обратное давление.
Значение
A Promise.
Примеры
Следующий пример демонстрирует два использования свойства ready. Первый использует ready для проверки, что WritableStream закончил запись и готов принять данные перед отправкой двоичного фрагмента. Второй также проверяет, закончил ли WritableStream запись, но на этот раз потому, что запись должна быть завершена перед закрытием записи.
function sendMessage(message, writableStream) {
// defaultWriter is of type WritableStreamDefaultWriter
const defaultWriter = writableStream.getWriter();
const encoder = new TextEncoder();
const encoded = encoder.encode(message);
encoded.forEach((chunk) => {
// Make sure the stream and its writer are able to
// receive data.
defaultWriter.ready
.then(() => defaultWriter.write(chunk))
.then(() => {
console.log("Chunk written to sink.");
})
.catch((err) => {
console.error(`Chunk error: ${err}`);
});
// Call ready again to ensure that all chunks are written
// before closing the writer.
defaultWriter.ready
.then(() => defaultWriter.close())
.then(() => {
console.log("All chunks written");
})
.catch((err) => {
console.error(`Stream error: ${err}`);
});
});
}
Спецификации
| Спецификация |
|---|
| Потоки # ref-for-default-writer-ready⑨ |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
ready |
59 | 16 | 100 | 46 | 14.1 | 59 | 100 | 43 | 14.5 | 7.0 | 59 |
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/WritableStreamDefaultWriter/ready