我在玩一個基本的Node.js服務器(沒有框架)。我希望服務器在特定條件下終止請求。這樣做的正確方法是什麼?我試過request.connection.destroy()
,req.removeListener('data')
和req.removeListener('end')
,但服務器繼續運行並返回結果。這裏是我的一部分:什麼是終止Node.js服務器請求的正確方法?
http.createServer(function(req,res){
req.on('data',function(data){
content+=data;
if(condition){
req.connection.destroy();
req.removeListener('data');
req.removeListener('end');
}
});
req.on('end',function(){=
res.writeHead(200,{
'Context-Type':'text/plain',
});
res.write(content);
res.end();
});
});
P.S. req.once('end',...)
而不是req.on('end',...)
是不是更好?其他人似乎都使用on()
,這是有原因嗎?
編輯: 我改變了if
體:
req.abort();
req.connection.destroy();
req.removeAllListeners('data');
req.removeAllListeners('end');
然而,end
事件仍被稱爲(即content
仍在被寫入)。
不'removeListener'採取監聽器本身作爲參數? – Bergi 2015-04-01 23:37:47