Capítulo 6. Correntes
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Os fluxos do Node têm a reputação de serem difíceis de entender e trabalhar. Esse pode ter sido o caso nos primeiros dias do Node, mas as coisas mudaram. Hoje, é relativamente fácil criar e consumir streams no Node. Podemos até usar iteradores e geradores assíncronos nativos do JavaScript para trabalhar com fluxos do Node.
Neste capítulo, explicarei o conceito de fluxos, por que eles são necessários e como criar, usar e combiná-los para processar eficientemente grandes quantidades de dados sem sobrecarregar a memória disponível para um processo do Node.
Apresentando os fluxos
Quando descarregas um ficheiro da Internet, vês um programa ou ouves uma música, estás a utilizar streams. O conteúdo está a ser transmitido para ti, um pedaço de cada vez.
Os fluxos são basicamente colecções de dados, semelhantes a matrizes ou cadeias de caracteres, mas em vez de armazenarem dados no espaço de memória, os fluxos processam os dados ao longo do tempo. Podes utilizar fluxos para processar quantidades muito grandes de dados utilizando um espaço de memória limitado.
Analogias para fluxos estão à nossa volta na vida. Quando tens um lava-loiça cheio de loiça suja, podes colocá-la na máquina de lavar loiça, e isso seria processá-la toda de uma vez, como se a tivesses numa matriz. Se não puderes usar uma máquina de lavar louça, terás de empregar o conceito ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access