1
resposta

PIPE().ON

Alguém poderia me explicar o conceito da função PIPE e da função ON? Eu não entendi muito bem o conceito que a professora passou em aula.

1 resposta

Oi, Gabriel, tudo bem?

O que essa função faz é faz dos Streams do Node. Muitas funções do Node são Streams, conexões HTTP são streams, arquivos abertos são streams; stdin, stdout e stderr são todos fluxos também. O que o pipe faz nada mais é que se comunicar entre os nós do sistema. Um exemplo é aqui, quando você dá o play em algum vídeo da alura, ele não é baixado totalmente de uma vez só mas sim enviando os bytes do arquivos a medida que vai carregando, ele vai sendo baixado aos poucos, isso é o streaming de vídeos. Então, o pipe permite que o arquivo não seja somente legível mas também gravável, em outra palavras, ele pega dados de um stream legível e o torna num stream gravável e que pode coletar dados.

Já o método on() é uma função escutadora que permite escutar eventos. Como a stream é uma emissora de eventos, então, o que on vai fazer é executar esse evento para o pipe, que, nesse caso é apresentar uma mensagem comunicado que a imagem foi escrita corretamente.

A documentação do on(): https://nodejs.org/docs/latest/api/events.html#events_emitter_on_eventname_listener

A documentação do pipe: https://nodejs.org/api/stream.html#stream_event_pipe

Qualquer dúvida, é só falar!