【发布时间】:2015-03-18 09:26:16
【问题描述】:
我正在创建一个应用程序,它向另一台服务器发出大量 HTTP 请求,完成其中一个请求可能需要 1 分钟。一些用户取消了请求,但我的应用仍然执行取消的请求。
这是我的代码:
var app = express();
app.get('/something', function (req, res) {
function timeout(i) {
setTimeout(function () {
// lets assume there is a http request.
console.log(i);
timeout(++i);
}, 100);
}
req.connection.on('close', function () {
console.log('I should do something');
});
timeout(1);
});
app.listen(5000);
基本上,我想要的是在客户端关闭连接后停止 console.log(i) 调用。此外,如果可能,客户端省略“close-{id}”事件,当后端收到 close-{id} 事件时,它会终止 {id} 请求。
注意:我使用 setTimeout 来显示回调机制。这不是真正的代码。
感谢您的帮助。
【问题讨论】:
标签: javascript node.js express socket.io