javascript / intermediate
Snippet
Speichereffiziente Dateistreams mit pipeline
Die pipeline-Funktion in Node.js bietet eine saubere Möglichkeit, mehrere Streams miteinander zu verknüpfen und übernimmt automatisch die Bereinigung und Fehlerfortpflanzung. Im Gegensatz zu .pipe() gibt sie ein Promise zurück, das nach Abschluss der Pipeline aufgelöst wird, was sie ideal für async/await-Workflows macht.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const { pipeline } = require('node:stream/promises');const { createReadStream, createWriteStream } = require('node:fs');const { createGzip } = require('node:zlib');async function compressFile(input, output) {try {await pipeline(createReadStream(input),createGzip(),createWriteStream(output));console.log('Compression successful');} catch (err) {console.error('Pipeline failed', err);}}
nodejs
Erklärung
1
const { pipeline } = require('node:stream/promises');
Importiert die Promise-basierte Version des Pipeline-Dienstprogramms.
2
await pipeline(...)
Kombiniert einen Lesestream, eine Transformation (Gzip) und einen Schreibstream in einem Prozess.