Node.js Stream è una funzionalità incorporata in Node.js che consente di leggere e scrivere dati in modo efficiente. Il flusso in Node.js è un oggetto in grado di manipolare continuamente grandi quantità di dati senza doverli memorizzare tutti in memoria contemporaneamente. Tipicamente, i flussi vengono utilizzati per lavorare con file di grandi dimensioni, trasmissioni di rete o qualsiasi tipo di dato che non può essere elaborato in un’unica operazione.
Esistono quattro tipi di flussi in Node.js:
- Readable: consente di leggere dati da un flusso.
- Writable: consente di scrivere dati su un flusso.
- Duplex: consente di leggere e scrivere dati su un flusso.
- Transform: è un tipo di flusso doppio che può modificare i dati mentre vengono letti o scritti.
Puoi usare i flussi in Node.js nel seguente modo:
1. Innanzitutto, devi richiedere il modulo ‘stream’ in Node.js usando l’istruzione ‘require’.
```
const stream = require(‘stream’);
```
1. Creare un nuovo flusso di lettura:
```
const readableStream = new stream.Readable();
```
1. Creare un nuovo flusso di scrittura:
```
const writableStream = new stream.Writable();
```
1. Puoi effettuare la lettura dal flusso utilizzando l’evento ‘data’. Quando ci sono dati disponibili per la lettura, l’evento ‘data’ viene attivato e i dati possono essere letti dal flusso.
```
readableStream.on(‘data’, (chunk) => {
console.log(`Received ${chunk.length} bytes of data.`);
});
```
1. Puoi scrivere in un flusso utilizzando il metodo ‘write’.
```
writableStream.write(‘Hello, World!’);
```
1. Ricorda sempre di chiudere i tuoi flussi quando hai finito di usarli per liberare le risorse.
```
readableStream.close();
writableStream.end();
```