参考教程:https://www.e-learn.cn/content/wangluowenzhang/393106
connect-timeout官网:https://www.npmjs.com/package/connect-timeout
express请求超时重点推荐方法:
【nodejs请求超时处理】重点推荐的方法
// 路由请求超时的中间件
app.use(function (req, res, next) {
// 这里必须是Response响应的定时器【120秒】
res.setTimeout(120*1000, function () {
console.log("Request has timed out.");
return res.status(408).send("请求超时")
});
next();
});
下面这个方法有一个bug,参考:https://blog.csdn.net/u010668495/article/details/72903852
// 全局请求超时时间为120秒【最简单的配置】
var timeout = require("connect-timeout");
app.use(timeout("120s"));
.....中间部分要执行的中间件代码【从开始到最后的时间】
// 这里的代码只能放到最后
app.use((req, res, next) => {
console.log("超时执行");
if (!req.timedout) next();
});