我有這樣一段代碼:請求在node.js中沒有結束(用於工作)
var app = require('http').createServer(function(req, res){
console.log(req);
req.addListener('end', function() {
fileServer.serve(req, res);
});
});
var statics = require('node-static');
var fileServer = new statics.Server('./');
app.listen(1344, '127.0.0.1');
app.on('error', function(err){
console.log(err);
})
它工作得很好,直到我做了一些改動,節點給出了一個錯誤,當我回去了,那個錯誤已經不存在了,但並沒有像在這個事件沒有被解僱之前那樣工作。所以,req.addListener('end', function(){});
內的任何內容都不會被調用。
即使我運行另一個使用相同事件的node.js也不會被觸發。這就好像請求的結束事件被破壞了一樣。但這怎麼可能呢?
這不是第一次發生。上次我結束重新安裝節點(在嘗試了很多不同的事情之後)。我寧願找到一個解決方案,所以我可以理解這個問題!
注意:原始代碼包括socket.io和其他類型的連接,但是我剛粘貼了應用程序被卡住的代碼段。
知道如何調試問題也很有用!
嘗試用'節點v0.8.x'或http://nodejs.org – InspiredJW 2013-04-09 04:08:01
我不能fileServer.serve'是否'作品講讀流2 Documenation,但如果你拿出所有與'node-static'有關的東西,你的代碼按原樣工作,'end'事件肯定會被調用。我記得我們嘗試使用'node-static'時遇到了問題,如果這確實是您的問題,那麼使用Connect中的靜態中間件可能會更好。 http://www.senchalabs.org/connect/static.html – 2013-04-09 04:28:04
@InspiredJW我在v0.10.3上。你是說我應該降級? – limoragni 2013-04-09 05:40:50