我正在使用mikeal/request庫訪問WebAPI。 我想記錄到每個請求的控制檯執行時間。node.js + mikeal/request - 如何測量請求時間?
我有多個和嵌套的要求,所以我不想投入每一個: var start = Date.now(); ... var time = Date.now() - start; console.log('Finished in '+time+' ms');
我希望有做這樣的事情的可能性: requestWithDefaults = request.defaults({ ... startTime: null }); requestWithDefaults.on('request.prepare', function() { startTime = Date.now(); }); requestWithDefaults.on('request.finished', function() { var time = Date.now() - startTime; console.log('Finished in '+time+' ms'); });
但我不知道該如何掛鉤那些時刻。以某種簡單的方式可能嗎?
感謝您的快速回復。 console.time/timeEnd是相當有趣的解決方案(我不知道這一點),但對我來說,主要問題是如何在準備請求和完成它的時刻掛鉤。 事件request.prepare和request.finished是假想的,只有我的願望。我不知道如何處理它們。 – Rympau 2014-09-06 07:12:03
@Rympau我查看了請求模塊的源代碼,看起來好像沒有真正的事件掛鉤用於啓動請求或結束請求(除非結束事件沒有回調)。所以如果是我,我會編寫一個非常簡單的模塊來封裝請求模塊並自己發出這些事件,然後確保與請求模塊的所有交互都通過該包裝器模塊。 – jasonmerino 2014-09-06 21:09:24
感謝您檢查請求和想法。我會嘗試編寫簡單的模塊,但由於沒有知識如何,我會很感激任何提示。 – Rympau 2014-09-08 09:40:47