Node .js。获取 HTTP 查询的时间

标签 node.js http

我是 .NET 开发人员和 Node.js 新手,非常感谢您的理解和帮助。

我有一些代码,用于记录 HTTP 查询时间:

var sTime;

var httpReq = http.request(requestOptions, function (httpRes) 
{   
    httpRes.on('end', function () 
    {
        var diffTime = (sTime) ? new String(new Date() - sTime) : '';
        log('diffTime: ' + diffTime);
    }); 
});

httpReq.on('socket', function (reqSocket) 
{
    sTime = new Date();
});

我有时会在日志文件中收到 diffTime: 0,这是不可能的。我可以尝试使用另一种方式来记录查询的时间,比如 this , 但我想找到零时间的原因。

最佳答案

如果没有其余的实际代码,测试您的问题会有点困难。这是显示时差的类似方法。

var request = require("request");

setInterval(function(){
    doRequest();
}, 200);

function doRequest() {

    var startTime, diffTime;

    //Start the timer.
    startTime = new Date();

    request("http://www.google.com", function(err,res,body){
        diffTime = ( new Date() - startTime );
        console.log(diffTime);
    });

};

编辑 - 在这里查看解释 http://nodeio.ninja/http/measuring-http-request-times-in-nodejs/

关于 Node .js。获取 HTTP 查询的时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29796160/

相关文章:

node.js - nwjs 应用程序 javascript 保护?

node.js - 使用 Sharp 库的 Firebase 部署功能在 Google Cloud Build 中失败

node.js - 使用 NodeJS 中的服务主体连接到 Azure SQL,但 token 被拒绝

node.js - 为每个请求创建 'Objects' new

带有 zlib 库的 Node.js 请求

http - http缓存实际上应该如何工作?

javascript - Sails JS如何在自动路由POST后触发操作

http - 在 Jmeter 中同时运行的最大线程数是多少?

C++ HTTP 客户端在 GET 请求后挂起 read() 调用

php - 通过 HTTP GET 传递带键的数组