Edycja: Dobra wiadomość! Począwszy od Node.js 8.0.0 readable.destroyjest oficjalnie dostępny: https://nodejs.org/api/stream.html#stream_readable_destroy_error
ReadStream.destroy
W dowolnym momencie możesz wywołać funkcję ReadStream.destroy .
var fs = require('fs');
var readStream = fs.createReadStream('lines.txt');
readStream
.on('data', function (chunk) {
console.log(chunk);
readStream.destroy();
})
.on('end', function () {
console.log('All the data in the file has been read');
})
.on('close', function (err) {
console.log('Stream has been destroyed and file has been closed');
});
Funkcja publiczna ReadStream.destroynie jest udokumentowana (Node.js v0.12.2), ale możesz rzucić okiem na kod źródłowy na GitHub ( zatwierdzenie 5 października 2012 ).
destroyFunkcja wewnętrznie zaznaczyć ReadStreaminstancję jako zniszczone i wywołuje closefunkcję, aby zwolnić plik.
Możesz słuchać zdarzenia close, aby dokładnie wiedzieć, kiedy plik zostanie zamknięty. Wydarzenie koniec nie zadziała, chyba że dane są całkowicie zużyte.
Zauważ, że funkcje destroy(i close) są specyficzne dla fs.ReadStream . Nie ma części ogólnego "interfejsu" stream.readable .
fsmodułu.closenie istnieje wStream.Readable.