gpt4 book ai didi

javascript - node.js + mikeal/request - 如何测量请求时间?

转载 作者:太空宇宙 更新时间:2023-11-04 01:02:47 25 4
gpt4 key购买 nike

我正在使用 mikeal/request 库来访问 WebAPI。我想记录每个请求的控制台执行时间。

我有多个嵌套请求,所以我不想将其放入每一个请求中:
var start = Date.now();
...
var time = Date.now() - 开始;
console.log('在 '+time+' 毫秒内完成');

我希望有可能做这样的事情:
requestWithDefaults = request.defaults({ ...
开始时间:空
});
requestWithDefaults.on('request.prepare', function () {
开始时间 = Date.now();
});
requestWithDefaults.on('request.finished', function () {
var time = Date.now() - startTime;
console.log('在 '+time+' 毫秒内完成');
});

但我不知道如何沉浸在那些时刻。是否可以通过简单的方式实现?

最佳答案

如果您只想记录某个进程的持续时间,您可以使用内置的 Node.js console.time()console.timeEnd()功能。您可以check out the Node console docs here .

您可以编写一个小模块来包装请求功能,并添加如下所示的 console.time[End] 语句:

var request = require('request');

module.exports = {
get: function(url, next) {
// start console timer
console.time(url);
request.get(url, function() {
// end console timer
console.timeEnd(url);
next.apply(this, arguments);
});
}
};

然后,您将直接包含此模块而不是请求模块,这将在默认情况下为您提供日志记录。注意:这只是 GET 请求的示例,其余的可以构建。

其输出格式为[label]: 475ms。非常漂亮而且非常干净地显示完成某件事需要多少毫秒。这不会为您提供来自 moment.js 的良好格式化可能性,但它确实很简单。

关于javascript - node.js + mikeal/request - 如何测量请求时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25678697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com