Logo

dev-resources.site

for different kinds of informations.

Streams em Node.js para iniciantes (guia básico)

Published at
12/29/2022
Categories
javascript
node
streams
beginners
Author
leeodev
Categories
4 categories in total
javascript
open
node
open
streams
open
beginners
open
Author
7 person written this
leeodev
open
Streams em Node.js para iniciantes (guia básico)

O que são Streams em Node.js

Streams são um tipo de ferramenta que ajudam a lidar com dados de maneira mais eficiente e eficaz no Node.js, que é uma plataforma de código aberto para criar aplicações de rede. Em resumo, Streams são como canais que permitem que você leia ou escreva dados aos poucos, em vez de precisar ler ou escrever tudo de uma só vez. Isso é útil para lidar com muitos dados, como arquivos grandes ou até mesmo dados que estão sendo compartilhados em redes sociais.

Por que usar Streams em Node.js ?

Há algumas vantagens em se usar Streams em Node.js:

Economia de memória: ao ler ou escrever dados em pedaços, a memória do sistema não é tão sobrecarregada como seria se os dados fossem lidos ou escritos de uma só vez. Isso é particularmente útil quando lidamos com grandes quantidades de dados.

Processamento mais rápido: Streams permitem que os dados sejam processados enquanto são lidos ou escritos, o que pode ser mais rápido do que processar os dados de uma só vez após a leitura ou escrita ser concluída.

Escalabilidade: Streams são uma forma eficiente de lidar com grandes quantidades de dados em um sistema de múltiplos núcleos, pois permitem que os dados sejam processados em paralelo.

Como trabalhar com Streams em Node.js

Node.js possui vários tipos de Streams, incluindo Readable, Writable, Duplex e Transform. Cada um desses tipos de Streams tem suas próprias propriedades e métodos específicos. No entanto, todos os tipos de Streams herdam de um objeto Stream base e compartilham alguns métodos e propriedades comuns.

Para trabalhar com Streams em Node.js, primeiro precisamos incluir o módulo 'stream' do Node.js:

const stream = require('stream');
Enter fullscreen mode Exit fullscreen mode

Exemplos de uso de Streams em Node.js

Aqui estão alguns exemplos de como usar Streams em Node.js
Lendo um arquivo em pedaços:

const fs = require('fs');
// incluindo o módulo 'fs' para lidar com arquivos

const readStream = fs.createReadStream('arquivo.txt');
// criando um Stream de leitura


readStream.on('data', chunk => {
  console.log(chunk.toString());
});
// usando o evento 'data' para imprimir cada pedaço de dados (ou "chunk") do arquivo
Enter fullscreen mode Exit fullscreen mode

Neste exemplo, estamos criando um Stream de leitura usando o método createReadStream do módulo 'fs'. Em seguida, estamos usando o evento 'data' para imprimir cada pedaço de dados (ou "chunk") do arquivo.

Escrevendo um arquivo em pedaços:

const fs = require('fs');
// incluindo o módulo 'fs' para lidar com arquivos

const writeStream = fs.createWriteStream('arquivo.txt');
// criando um Stream de escrita

writeStream.write('Olá, mundo!\n');
writeStream.write('Este é um exemplo de escrita em Streams em Node.js.\n');
// usando o método 'write' para escrever dois pedaços de texto no arquivo

writeStream.end();
// fechando o Stream de escrita com o método 'end'

Enter fullscreen mode Exit fullscreen mode

Neste exemplo, estamos criando um Stream de escrita para o arquivo 'arquivo.txt' usando o método createWriteStream do módulo 'fs'. Em seguida, estamos usando o método write para escrever dois pedaços de texto no arquivo. Finalmente, estamos usando o método end para fechar o Stream de escrita.

Próximos passos a serem estudados

Agora que você já tem uma compreensão básica de como funcionam os Streams no Node.js, há muito mais a ser explorado e aprendido. Alguns próximos passos a serem estudados incluem:

  • Entender os diferentes tipos de Streams (Readable, Writable, Duplex e Transform) e suas propriedades e métodos específicos.

  • Aprender sobre o uso de Streams com arquivos e redes.

  • Conhecer bibliotecas populares, como o módulo 'through2', que simplificam o uso de Streams no Node.js.

  • Aprender a criar Streams personalizados usando o objeto Stream base.

Com um pouco de prática e estudo, você poderá se tornar proficiente em trabalhar com Streams no Node.js e usar essa habilidade para resolver problemas de maneira mais eficiente e escalável.

streams Article's
30 articles in total
Favicon
How does Optional.ifPresent() differ from Optional.orElse()?
Favicon
Beyond the Basics: Mastering Streams in Node.JS
Favicon
The streaming bridges — A Kafka, RabbitMQ, MQTT and CoAP example
Favicon
Java Streams | What is the difference between sorted() and distinct() in streams?
Favicon
How to handle large file uploads in SvelteKit using streams
Favicon
Execução preguiçosa com Lambdas
Favicon
Руководство по Java 8 Stream API
Favicon
In Java how to create a custom ArrayList that doesn't allow duplicate? #Interview Question
Favicon
Why Set Doesn't Allow Duplicates in Java
Favicon
Optional Class in Java and its methods
Favicon
A Few About: Streams NodeJs (PT-BR)
Favicon
File reading in python
Favicon
Asynchronous Streams in C#: Effortless Async Data Processing
Favicon
Working with streams in Node.js
Favicon
Migrating to Phoenix Liveview Streams
Favicon
What is Java Stream and why does it exist?
Favicon
-
Favicon
Streams em Node.js para iniciantes (guia básico)
Favicon
From a data stream to the data warehouse
Favicon
Gentle Intro to Node Streams
Favicon
The Java `.boxed()` Method
Favicon
Request and Response Stream - Observations
Favicon
Getting a near-real-time view of a DynamoDB stream with Python
Favicon
Exploring Java Streams
Favicon
Service Worker Side Rendering (SWSR)
Favicon
Listening to payments (real-time) on your Stellar wallet
Favicon
Supporting Cross Node Interactive Queries In Kafka Streams
Favicon
Summing Java Streams Api
Favicon
Handling Slow Servers in NodeJS
Favicon
Java 8 Non ce n’est pas que les streams

Featured ones: