javascript / intermediate
Snippet
Sichere Stream-Verarbeitung mit pipeline
In Node.js kann das manuelle Weiterleiten (Piping) von Streams zu Speicherlecks führen, wenn Fehler nicht in jedem Segment behandelt werden. Das Utility 'pipeline' zerstört automatisch alle Streams in der Kette, wenn einer fehlschlägt oder vorzeitig schließt.
snippet.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
const { pipeline } = require('stream');const fs = require('fs');const zlib = require('zlib');pipeline(fs.createReadStream('archive.tar'),zlib.createGzip(),fs.createWriteStream('archive.tar.gz'),(err) => {if (err) {console.error('Pipeline failed:', err);} else {console.log('Pipeline completed successfully');}});
nodejs
Erklärung
1
pipeline(
Startet eine verwaltete Stream-Kette, die Bereinigung und Fehlerweiterleitung übernimmt.
2
(err) => {
Ein abschließender Callback, der ausgeführt wird, wenn die gesamte Pipeline fertig ist oder auf einen Fehler stößt.