This is what i am using at the moment:
app.get('/foo', (req, res) => {
res.set('Content-type', 'text/plain');
res.set('Transfer-Encoding', 'chunked');
const stream = new Stream.Readable({ read() { } });
stream.pipe(res);
for (let i = 0; i < 10; i++) {
let result = JSON.stringify({ bar: i});
res.cork();
stream.push(`${result}\n`);
freeze(50);
process.nextTick(() => res.uncork());
}
res.end();
})
Is it possible that the client gets the next bar object using a generator, sort of the client controls when then next bar object will be streamed?