0

http.createServer(onRequest)我使用并希望测量做出响应所需的时间来创建一个 http 服务器。

目前,在我的onRequest处理程序中,我这样做:

var start = process.hrtime();

response.on('end', function (){
    console.log('time to respond', process.hrtime(start));
});

// call various asynchronous functions and send them 'response' object. One of them eventually does response.end()

我担心当一堆请求立即出现时这是否会正常工作,或者异步会破坏它/混淆时间?

4

2 回答 2

0

该变量将在您的onRequest处理程序函数的闭包范围内,因此它将按照您期望的方式工作(假设process.hrtime您想要什么)。

于 2013-08-26T11:07:30.050 回答
0

你应该做一些类似的事情,

function measureRequestTime (req, res, next) {
  var start = process.hrtime();
  response.on('end', function () {
    // logging the time here..
  });
}

// app init

app.use(meastureTime);
于 2013-08-26T14:10:51.520 回答