gpt4 book ai didi

node.js 定时 http 请求

转载 作者:搜寻专家 更新时间:2023-11-01 00:34:15 25 4
gpt4 key购买 nike

我正在尝试计算响应请求所需的时间。

现在我在 httpServer request 事件上创建了一个时间戳问题是 httpServerResponse 没有发出 end 并在不同位置调用完成响应的结束函数,我不想在所有这些位置添加此代码。

有更好的方法吗?

var server = http.createServer();

server.on('request', dispatch);

function dispatch(req, res){
var start = Date.now();
// No such event so never fired
res.on('end', function(){
console.log('requests.time', Date.now() - start);
});
generateResponse(req, res);
}

最佳答案

您可以覆盖原始的 res.end() 函数并从其中调用原始函数:

var server = http.createServer();

server.on('request', dispatch);

function dispatch(req, res){
var start = Date.now();

var original=res.end;

res.end=function(txt,encoding){
console.log('requests.time', Date.now() - start);
original.call(this,txt,encoding);
}

generateResponse(req, res);
}

function generateResponse(req,res){
setTimeout(function(){ // simulate some processing
res.end('hi');
},1000);
}

关于node.js 定时 http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9144864/

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