nodejs читаемые потоки в режиме паузы
Я пытаюсь потреблять читаемые потоки nodejs в режиме паузы. но они всегда возвращают ноль.
const fs = require('fs');
const readS = fs.createReadStream('data.txt');
console.log(readS._readableState.flowing); //null
readS.resume();
console.log(readS._readableState.flowing); //true
let a = readS.read(1);
console.log(a); // null
readS.pause();
console.log(readS._readableState.flowing); // false
let b = readS.read(1);
console.log(b); //null
Я также включил состояние читаемых потоков. Что я делаю не так и как я могу использовать поток без слушателей и в режиме паузы??
data.txt - это файл, заполненный текстом. Я также вижу, что внутренний буфер, полученный с помощью readS._readableState.buffer, всегда возвращает BufferList { head: null, tail: null, length: 0 }
но когда я заключаю вызов readS.read() в setTimeout(ПРИМЕЧАНИЕ: 0s setTimeout и setImmediate не будут работать), он возвращает мне объект буфера, как и ожидалось
setTimeout(() => {
a = readS.read();
console.log(a);
},10); //returns the buffer object as expected
Что происходит??