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.
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.
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!