我正在尝试了解如何在get get上处理nodejs超时。
我有一个页面,在渲染之前需要很长的执行时间。
我想设置超时,如果我们达到超时,我想中止请求,并将用户重定向到超时页面。
我在route.js文件中完成了这个:
app.get('/exec', isLoggedIn, function(req, res) {
var defaultTimeout = 180000;
res.connection.setTimeout(defaultTimeout, function(t) {
console.log("TIMED OUT !");
res.render('exec-timeout.ejs', {
user : req.user
});
});
});
但它不起作用...... 它达到超时,它在控制台中显示“TIMED OUT”消息,但它不会将我重定向到exec-timeout页面,它只是继续尝试运行执行并再次点击超时......
如何在超时时中止请求,并呈现给页面?
非常感谢。