這是一個普通的節點實踐,即使使用readable.once(「end」),on(「end」)回調每次請求觸發兩次。這裏是塔代碼:('end')流的偵聽器上的Node.js觸發兩次
require("http").createServer(function (req, res) {
var readable = require("fs").createReadStream("./image.jpg",{highWaterMark:1024*1024});
readable.on("data", function (data) {
res.write(data);
})
readable.on("end", function() {
res.end()
console.log("Ended");
})
}).listen(9000, function() {
console.log("Listening.... on 9000");
});
所以這意味着兩個請求正在處理。 – robertklep
否,這只是一個請求。 –
如果在使用'.once()'時觸發兩次,唯一合理的解釋是有兩個請求被處理。嘗試添加'console.log(req.url)'到請求處理程序。 – robertklep