1 of 20
2 of 20
3 of 20
4 of 20
5 of 20
6 of 20
7 of 20
8 of 20
9 of 20
10 of 20
11 of 20
12 of 20
13 of 20
14 of 20
15 of 20
16 of 20
17 of 20
18 of 20
19 of 20
20 of 20

doc

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.


Não encontrou o que procurava? Abra um ticket.