我正在编写一个相当复杂的多节点代理,有一次我需要处理一个 HTTP 请求,但是在“http.Server”回调之外从该请求中读取(我需要从请求数据中读取并对其进行排列)在不同的时间有不同的反应)。问题是,流不再可读。下面是一些重现问题的简单代码。这是正常现象还是bug?
function startServer() {
http.Server(function (req, res) {
req.pause();
checkRequestReadable(req);
setTimeout(function() {
checkRequestReadable(req);
}, 1000);
setTimeout(function() {
res.end();
}, 1100);
}).listen(1337);
console.log('Server running on port 1337');
}
function checkRequestReadable(req) {
//The request is not readable here!
console.log('Request writable? ' + req.readable);
}
startServer();