我正在嘗試創建一個記錄響應時間和狀態代碼並將其發送到數據庫的中間件。但是,我不確定要使用哪個事件。在節點的文檔中有一個close
事件,但它永遠不會被解僱。 end
也不起作用。但是,header
確實存在,但我找不到任何文檔。Node.js/Express響應事件
app.use(function(req, res, next) {
res.on('close', function() {
console.log('close')
})
res.on('end', function() {
console.log('end')
})
res.on('header', function() {
console.log('header')
console.log(res.statusCode)
})
next()
})
只有header
火災,它也返回正確的res.statusCode。
我的問題:
- 爲什麼不是
close
射擊?爲什麼header
開火? - 這是一個可靠的方法嗎?
什麼版本的節點? HTTP或HTTPS? [這個問題](http://stackoverflow.com/questions/6537510/node-js-https-no-response-end-event-close-instead?rq=1)暗示該計劃有所作爲。它也可能僅僅是Node中的一個bug /迴歸。另外:https://github.com/joyent/node/issues/1611 ......同樣,它顯示[改變w/r/t這是在工作中。](https://github.com/joyent/節點/問題/ 3855) –
http。節點v 0.8.8。怪異的'結束'或'關閉'如何工作。你認爲我可以用'finish'沒有任何問題嗎? –