WritableStreamDefaultWriter
WritableStreamDefaultWriter é uma interface que é invocada por WritableStream.getWriter().
Construtor
WritableStreamDefaultWriter() Cria uma nova instância do objeto WritableStreamDefaultWriter.
Propriedades
WritableStreamDefaultWriter.closed Permite o desenvolvimento de códigos que respondem a uma ponta do processo de stream. Retorna uma promise que se concretiza quando uma stream é fechada, ou uma rejeição caso ocorra algum erro.
WritableStreamDefaultWriter.desiredSize Retorna o tamanho definido para a fila interna da stream.
WritableStreamDefaultWriter.ready Retorna uma promise que se resolve quando o tamanho desejado da fila interna da stream muda de não positivo para positivo, sinalizando que não está mais aplicando contrapressão.
Métodos
WritableStreamDefaultWriter.abort() Aborta a stream.
WritableStreamDefaultWriter.close() Fecha a writable stream associada.
WritableStreamDefaultWriter.releaseLock() Libera a stream correspondente.
WritableStreamDefaultWriter.write Escreve um bloco de dados para uma WritableStream.
Example
O exemplo a seguir mostra a criação de uma WritableStream:
 const list = document.querySelector('ul');
 function sendMessage(message, writableStream) {   // defaultWriter é do tipo WritableStreamDefaultWriter   const defaultWriter = writableStream.getWriter();   const encoder = new TextEncoder();   const encoded = encoder.encode(message, { stream: true });   encoded.forEach((chunk) => {     defaultWriter.ready       .then(() => defaultWriter.write(chunk))       .then(() => {         console.log("Chunk written to sink.");       })       .catch((err) => {         console.log("Chunk error:", err);       });   });   defaultWriter.ready     .then(() => {       defaultWriter.close();     })     .then(() => {       console.log("All chunks written");     })     .catch((err) => {       console.log("Stream error:", err);     }); }
 const decoder = new TextDecoder("utf-8"); const queuingStrategy = new CountQueuingStrategy({ highWaterMark: 1 }); let result = ""; const writableStream = new WritableStream({   write(chunk) {     return new Promise((resolve, reject) => {       const buffer = new ArrayBuffer(1);       const view = new Uint8Array(buffer);       view[0] = chunk;       const decoded = decoder.decode(view, { stream: true });       const listItem = document.createElement('li');       listItem.textContent = `Chunk decoded: ${decoded}`;       list.appendChild(listItem);       result += decoded;       resolve();     });   },   close() {     const listItem = document.createElement('li');     listItem.textContent = `[MESSAGE RECEIVED] ${result}`;     list.appendChild(listItem);   },   abort(err) {     console.log("Sink error:", err);   } }, queuingStrategy);
 sendMessage("Hello, world.", writableStream);Para mais informações sobre WritableStreamDefaultWriter visite MDN Web Docs.