Le Guide Node.js par Wishtack
  • Le Guide Node.js par Wishtack
  • ECMAScript 6+
  • TypeScript
  • Tools
  • Node.js
    • Pourquoi Node.js ?
    • Modules
    • Global objects
    • Events & Listeners
    • Streams
    • Error Management
  • Express
    • Getting Started
    • Express Generator
    • Middlewares
    • Routing
    • Templating
    • Quelques Liens
  • LoopBack
  • Testing
  • Databases
  • WebSocket
  • Sécurité
Powered by GitBook
On this page
  1. Node.js

Streams

PreviousEvents & ListenersNextError Management

Last updated 6 years ago

Pour simplifier l'implémentation asynchrone du traitement d'un flux de données, Node.js propose l'utilisation de la notion de stream.

NodeJS définit des interfaces d'implémentation de stream : Readable, Writable, Duplex et Transform.

NodeJS implémente quelques streams et fonctionnalités de transformation

const crypto = require('crypto');
const fs = require('fs');
const zlib = require('zlib');

const password = new Buffer(process.env.PASS || 'password');
const encryptStream = crypto.createCipher('aes-256-cbc', password);

const gzip = zlib.createGzip();
const readStream = fs.createReadStream('secret-data.txt');
const writeStream = fs.createWriteStream('encrypted-secret-data.gz');

/* Read current file. */
readStream

    /* Encrypt data. */
    .pipe(encryptStream)

    /* Compress data. */
    .pipe(gzip)

    /* Write data to output file. */
    .pipe(writeStream)

    /* We are done. */
    .on('finish', function () {
        console.log('done');
    });
https://nodejs.org/api/stream.html#stream_api_for_stream_implementors
Stream | Node.js v17.4.0 Documentation
Logo