8

在 expressjs 中有一种方法可以设置每条路由的超时限制。

我有一些路线可能需要 30-45 秒才能处理(大量任务)

然后是其他路线,如果它需要超过 5 秒,我希望它超时。

我想我问的是有没有办法全局设置请求的超时限制,有没有办法在路由上单独设置。

4

1 回答 1

14

使用内置的连接超时中间件:

http://www.senchalabs.org/connect/timeout.html

var connectTimeout = require('connect-timeout');

var timeout = connectTimeout({ time: 10000 });
var longTimeout = connectTimeout({ time: 45000 });

app.use(timeout); // you can set a global timeout value
app.get('/some/route', longTimeout, yourHandler); // or you can set per-route timeouts
于 2013-01-20T03:58:59.937 回答