Существует событие pipe
для записываемых потоков:
Событие 'pipe'
генерируется, когда метод stream.pipe ()вызывается в читаемом потоке, добавляя эту запись в набор назначений.
, поэтому я думаю, что может работать следующее:
-
export async function myHandler(req, res) {
const reader = getReadableStreamSomehow();
res.on('pipe', src => {
console.log('Something is piping into the response');
assert.equal(src, reader);
});
reader.pipe(res);
}
Ссылка: https://nodejs.org/api/stream.html#stream_event_pipe
Не могу точно сказать, но вы, вероятно, столкнетесь с неожиданными побочными эффектами.
res.send()
в конечном итоге вызывает
res.end()
, как показано
здесь .Поскольку
res
является потоком, я думаю, что это зависит.У вас может быть несколько элементов, записывающих / отправляющих в
res
, но A может закончить раньше, чем B, поэтому содержимое B, вероятно, заменит содержимое A, и наоборот.