Редагувати: Хороші новини! Починаючи з Node.js 8.0.0 readable.destroy
офіційно доступний: https://nodejs.org/api/stream.html#stream_readable_destroy_error
ReadStream.destroy
Ви можете викликати функцію 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');
});
ReadStream.destroy
Відкрита функція не задокументована (Node.js v0.12.2), але ви можете поглянути на вихідний код на GitHub ( комісія 5 жовтня 2012 р.).
destroy
Функція внутрішньо відзначте ReadStream
екземпляр знищеними і викликає close
функцію , щоб звільнити файл.
Ви можете прослухати подію закриття, щоб точно знати, коли файл закритий. Подія закінчення не спрацьовуватиме , якщо дані не будуть повністю витрачені.
Зверніть увагу, що destroy
(і close
) функції специфічні для fs.ReadStream . Немає частини загального потоку. Читабельний "інтерфейс".
fs
модуля.close
не існує вStream.Readable
.