@app = express.createServer()
@app.use express.bodyParser()
在HTTP請求/響應的末尾,我想執行一個操作(關閉數據庫連接)。這最好在響應到達客戶端的途中發生,以便客戶端不在等待,但如果它發生在線,我總是可以做一個process.nextTick。在node.js末尾運行清理代碼http響應
如何爲響應的結尾註冊回調?
@app = express.createServer()
@app.use express.bodyParser()
在HTTP請求/響應的末尾,我想執行一個操作(關閉數據庫連接)。這最好在響應到達客戶端的途中發生,以便客戶端不在等待,但如果它發生在線,我總是可以做一個process.nextTick。在node.js末尾運行清理代碼http響應
如何爲響應的結尾註冊回調?
那麼你想打開/關閉/打開/關閉每個請求的數據庫連接?保持開放並重新使用連接要好得多。
如果你想這樣做,你只發送後的響應返回給客戶端(所有路由),你可以使覆蓋res.end()
功能(這是最後一個叫,像這樣的中間件東西:
@app.use (req, res, next) ->
var oldEnd = res.end;
res.end = ->
oldEnd.apply(res, arguments)
# do stuff after sending the response back to the client
的HTTP響應是WritableStream當流關閉,一個完成事件發出這樣聽着它的伎倆:。
res.on('finish', function() {
console.log(res._headers);
});
更加靈活可置於中間件或資源處理程序。
我每個請求都有一個連接,因爲連接不能同時用於兩個不同的查詢。如果應用程序執行不力,我可能會引入連接池。在這種情況下,我也可以使用您的解決方案將連接返回到池。謝謝。 –