我有一条路线,在回复回复之前需要大约一分钟才能运行(这是故意的)。我遇到的问题是当用户在发出请求后退出(通过ajax)但在返回响应之前,当响应最终被发回时,用户的会话将被重新初始化并存储回Redis。这使我的Redis实例留下了许多额外的条目,这些条目不再有用了。
我的解决方案是监听req.close事件,当发生这种情况时,设置一个变量,阻止任何响应被发回(基本上不调用next或res.end)。这解决了我的问题,但我想知道是否有一个未解决的请求是不好的。我实际上并不关心取消请求时的响应是什么,因为用户已经离开了发出请求的页面。