В вашем коде вы отправляете чанки обратно клиенту с res.write
эти чанки будут отображаться по мере их поступления в браузер, что приведет к описанному вами эффекту задержки.
В настоящее время, однако, Postman не поддерживает этот чанкинг и ждет, пока не получит сигнал об окончании ответа (с res.end
). В основном, он ждет полного ответа, прежде чем что-то с ним делать.
Это может измениться в следующих версиях Почтальона: Github
Редактировать:
Использование API-интерфейс Fetch позволяет обращаться к этим чанкам следующим образом:
fetch("/")
// Retrieve its body as ReadableStream
.then(response => response.body)
.then(body => {
const decoder = new TextDecoder('utf-8');
const reader = body.getReader();
reader.read().then(({ done, value }) => console.log(decoder.decode(value)));
reader.read().then(({ done, value }) => console.log(decoder.decode(value)));
});
(за исключением того, что для генерации al oop можно использовать значение done
)