假设我有一个接受HTTP请求并处理一些长期任务的服务。有时远程客户端可以在任务完成之前关闭连接,例如
app.get('/', (req, res) => {
let connectionClosed = false;
req.on('close', () => {
connectionClosed = true;
});
while (true) {
if (connectionClosed) {
// What to do here?
// Do I simply return?
return;
}
// Whatever business logic
}
});
在这种情况下,应用程序是否需要响应?我是否需要拨打res.end()
或者我只需return void
(如示例中所示)?
我只是想确保这样做不会导致内存泄漏。