- Boas-vindas a Azion Docs
- Edge Application
- Edge Functions
- JavaScript Runtime APIs
- ReadableStreamDefaultReader
ReadableStreamDefaultReader
ReadableStreamDefaultReader é um leitor padrão usado para ler dados de um stream vindos de uma rede, como em requisições fetch.
Em contraste com um ReadableStreamBYOBReader, que só funciona caso a stream tenha uma fonte de bytes, o ReadableStreamDefaultReader pode ser usado para qualquer tipo de fonte de Readable Stream.
Construtor
ReadableStreamDefaultReader() Cria e retorna uma instância do objeto ReadableStreamDefaultReader.
Propriedades
ReadableStreamDefaultReader.closed Retorna uma Promise que se realiza quando a stream fechar, ou rejeita caso a stream retorne um erro ou o lock do reader é ativado. Essa propriedade habilita a produção de códigos que respondem a uma ponta do processo de streaming.
Métodos
ReadableStreamDefaultReader.cancel() Retorna uma Promise que se realiza quando uma stream é cancelada. Quando esse método é chamado, sinaliza que o consumidor perdeu o interesse na stream. O motivo será retornado para a origem.
ReadableStreamDefaultReader.read() Retorna uma promise que permite o acesso ao próximo carregamento na fila interna da stream
ReadableStreamDefaultReader.releaseLock() Libera o processamento de leitura da stream.
Exemplos
No exemplo a seguir, uma resposta artificial é criada para fazer uma stream de fragmentos de HTML vindos de outra fonte para o navegador.
fetch("https://www.example.org/").then((response) => {
const reader = response.body.getReader();
const stream = new ReadableStream({
start(controller) {
// A função a seguir lida com os blocos de dados
function push() {
// "done" é um boolean e um valor "Uint8Array"
return reader.read().then(({ done, value }) => {
if (done) {
// Avisa o navegador que terminou o processo
controller.close();
return;
}
// Pega os dados e envia para o navegador
controller.enqueue(value);
push();
});
};
push();
}
});
return new Response(stream, { headers: { "Content-Type": "text/html" } });
});
Para mais informações sobre ReadableStreamDefaultReader visite MDN Web Docs.
Não encontrou o que procurava? Abra um ticket.