使用Express时出现“错误:套接字挂断”
当客户端刷新的同时仍然加载一个页面(所以套接字被终止,而我仍在处理请求)时,节点继续退出。 错误:
[ERROR] - Error: socket hang up at createHangUpError (http.js:1472:15) at Socket.socketCloseListener (http.js:1522:23) at Socket.EventEmitter.emit (events.js:95:17) at TCP.close (net.js:465:12) (at lib/Maintenance.js:38)
我试着附加on('error', ...
到:
-
req
对象 -
listen
的返回值(我正在使用Express) - 我的
get
,use
和post
方法的返回值。
然而,我似乎无法捕捉到这个错误。 它仍然被抛出,没有我的error handling程序反应。 我可能会错过什么?
将错误侦听器附加到套接字对象
app.use(function(req, res, next) { req.socket.on("error", function() { }); res.socket.on("error", function() { }); next(); });
尝试捕捉这样的错误,看看它是否工作..
app.use(function(err,req, res, next) { if(err)console.log(err); next(); });