我在使服务器对客户端的HTTP请求进行多个状态调用响应时遇到麻烦。我在轻量级的Raspberry Pi构建上使用Node.js,因此我使用的外部库越少越好。
我不断遇到response.write()和response.end()的问题,以将服务器状态信息返回给客户端。这是我对诺言链接服务器路由所做的事情。
else if (request.url === '/scope'){
new Promise((resolve,reject)=>{
if(request.url){
response.write('streaming')
response.end()
resolve(trigger())
} else {
reject('not streaming')
}
}).then((results)=>{
response.write('done streaming')
response.end()
}
我的trigger()函数需要花费大量时间才能完成。所以我想用response.write发送状态,但是不能用两个response.end()发送状态。如果我最后使用一个,那么我的客户会同时收到“流式传输”和“完成流式传输”两种状态。
我考虑过的另一种方法是使用回调。
您能帮助我异步进行多个HTTP响应吗?写调用以将应用程序状态更新为一个HTTP请求?