我正在尝试发送响应。但是我希望能够在仍被发送时读取响应(并处理数据)。我基本上想在一个响应中发送多个消息。
它在node.js内部起作用,但是当我试图在打字稿中做同样的事情时,它不再起作用。
我的尝试是通过打字稿中的提取来执行请求,并且通过将响应的一部分写入响应流来响应来自node.js服务器。
fetch('...', {
...
}).then((response => {
const reader = response.body.getReader();
reader.read().then(({done, value}) => {
if (done) {
return response;
}
console.log(String.fromCharCode.apply(null, value)); //just for testing purposes
})
}).then(...)...
在Node.js方面,它基本上是这样的:
// doing stuff with the request
response.write(first_message)
// do some more stuff
response.write(second_message)
// do even more stuff
response.end(last_message)
在Node.js中,就像我说的那样,一旦它通过res.on('data',...)发送出去,我就可以读取每条消息,但是在typescript中的reader.read仅触发一次(?),是整个响应被发送的时间。
有没有办法让它像我想要的那样工作,还是我必须寻找另一种方式?
我希望这是可以理解的,我在写这篇文章时注意到我在解释这件事时非常努力:D
答案 0 :(得分:0)
我发现了问题,并且像往常一样是坐在电脑前。
在写响应之前,我忘了先写一个头文件。