gpt4 book ai didi

javascript - 终止 Node.js 服务器请求的正确方法是什么?

转载 作者:行者123 更新时间:2023-12-03 10:25:56 25 4
gpt4 key购买 nike

我正在使用一个基本的 Node.js 服务器(无框架)。我希望服务器在某些条件下终止请求。这样做的正确方法是什么?我尝试了 request.connection.destroy()req.removeListener('data')req.removeListener('end'),但服务器继续运行并返回结果。这是我所拥有的部分内容:

http.createServer(function(req,res){
req.on('data',function(data){
content+=data;
if(condition){
req.connection.destroy();
req.removeListener('data');
req.removeListener('end');
}
});

req.on('end',function(){=
res.writeHead(200,{
'Context-Type':'text/plain',
});
res.write(content);
res.end();
});
});

附注使用 req.once('end',...) 而不是 req.on('end',...) 更好吗?其他人似乎都使用 on(),这是有原因的吗?

编辑:我将 if 主体更改为:

                req.abort();
req.connection.destroy();
req.removeAllListeners('data');
req.removeAllListeners('end');

但是,end 事件仍在被调用(即content 仍在写入)。

最佳答案

你应该调用 req.abort();

文档在这里: https://nodejs.org/api/http.html#http_request_abort

关于javascript - 终止 Node.js 服务器请求的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29402631/

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