如何仅使用Node.js进行异步http response.write调用?

时间:2018-09-06 18:26:33

标签: node.js http asynchronous

我在使服务器对客户端的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请求?

0 个答案:

没有答案