我想自定义触发超时错误时发送给用户的响应。更具体地说,我想将它们重定向到一个静态页面,解释为什么会触发超时错误。
我想写一些类似的东西:
var express = require('express')
var timeout = require('connect-timeout')
var app = express();
var port = process.env.PORT || 8080;
app.use(timeout(10,{"respond":true}));
app.use(haltOnTimedout);
// GET ROUTES HERE
app.listen(port, function() {
console.log('Our app is running on port '+ port);
});
function haltOnTimedout(req,res,next) {
if (req.timedout) {
res.redirect('/timedout.html');
} else {
next();
}
};
上面的代码没有按预期工作:即使触发了超时,它也不会将用户重定向到静态网页timedout.html
,而是抛出错误ServiceUnavailableError: Response timeout
有可能做这样的事情还是我错过了什么?