请求/响应.aborted时,NodeJS服务器崩溃

时间:2015-03-20 12:13:15

标签: node.js express

当中止发送到NodeJS-Express服务器的xmlHttpRequest时,如果最终没有处理请求,或者由于请求被删除而无法发送响应,则服务器崩溃。

我使用连接标志来确保仅在连接启动时发送响应。 我试图捕获这些异常,但他们没有处理请求中止事件:

var connected = true;
req.connection.on('close', function () {
    connected = false;
    // code to handle connection abort
});
res.on('error', function (err) {
    console.log("response couldn't be sent.");
    connected = false;
});
if(connected)
    res.send(...);

req.connection.removeListener('close', removeCallback);
res.removeListener('error', removeCallback);

我是否可以查看任何事件来处理“错误:请求中止”异常,导致服务器崩溃?

2 个答案:

答案 0 :(得分:2)

根据W3C规范,XMLHttpRequest会发出" abort"事件

http://www.w3.org/TR/XMLHttpRequest/#event-handlers

基本上,我猜你可以听那个事件来处理错误。

答案 1 :(得分:0)

实际上,request.on('abort', fn)应该可以在node.js

中检测已中止的HTTP请求