Edycja: Dobra wiadomość! Począwszy od Node.js 8.0.0 readable.destroy
jest 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.destroy
nie jest udokumentowana (Node.js v0.12.2), ale możesz rzucić okiem na kod źródłowy na GitHub ( zatwierdzenie 5 października 2012 ).
destroy
Funkcja wewnętrznie zaznaczyć ReadStream
instancję jako zniszczone i wywołuje close
funkcję, 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 .
fs
modułu.close
nie istnieje wStream.Readable
.