WritableStreamDefaultWriter
A interface WritableStreamDefaultWriter do Azion Runtime: o construtor, as propriedades e os métodos que escrevem, fecham, abortam e liberam um stream.
A interface WritableStreamDefaultWriter faz parte da Streams API do Azion Runtime. Uma chamada a WritableStream.getWriter() retorna um writer e bloqueia o stream para ele, de modo que nenhum outro writer pode escrever no destino subjacente até que o bloqueio seja liberado. Para mais informações, consulte WritableStreamDefaultWriter na MDN Web Docs.
Construtor
O construtor WritableStreamDefaultWriter() cria um writer para o stream que você passa para ele:
O parâmetro stream é o WritableStream em que o writer escreve. Uma chamada a stream.getWriter() retorna um objeto do mesmo tipo.
Propriedades
| Propriedade | Tipo | Descrição |
|---|---|---|
closed | Promise | É cumprida quando o stream é fechado. É rejeitada quando o stream lança um erro ou quando o bloqueio do writer é liberado. Use-a para executar código quando o stream termina. |
desiredSize | Number | Tamanho que ainda falta para preencher a fila interna do stream. Um stream criado com new CountQueuingStrategy({ highWaterMark: 2 }) informa 2 antes da primeira escrita. |
ready | Promise | É resolvida quando o tamanho desejado da fila interna do stream muda de zero ou menos para um valor positivo. Essa mudança sinaliza que o stream não aplica mais contrapressão. |
Métodos
| Método | Descrição |
|---|---|
writer.abort() | Aborta o stream. O produtor não pode mais escrever nele, o stream passa imediatamente para um estado de erro e as escritas que estão na fila são descartadas. |
writer.close() | Fecha o writable stream do writer. Retorna uma promise. |
writer.releaseLock() | Libera o bloqueio do writer sobre o stream, e o writer deixa de estar ativo. Depois da chamada, a propriedade locked do stream é false. Se o stream está com erro quando o bloqueio é liberado, o writer passa a informar o mesmo erro; caso contrário, ele informa que o stream está fechado. |
writer.write(chunk) | Escreve chunk no stream e no sink subjacente dele. Retorna uma promise que é resolvida ou rejeitada para informar se a escrita teve sucesso. |
Exemplo
Este handler cria um WritableStream cujo sink coleta cada chunk, obtém um writer, escreve dois chunks e fecha o writer. Ele retorna o estado do stream e do writer antes das escritas, junto com os chunks que o sink recebeu:
A function retorna estes valores. O stream está bloqueado para o writer, e o sink recebe os dois chunks em ordem: