问题描述
如何为所有请求设置超时,如果超时则使用自定义json进行响应?
我尝试使用:
import * as timeout from 'connect-timeout';
import { NestFactory } from '@nestjs/core';
import { ApplicationModule } from './app.module';
const port = process.env.PORT || 3020;
async function bootstrap() {
const app = await NestFactory.create(ApplicationModule);
app.use(timeout('5s'));
app.use(haltOnTimedOut);
await app.listen(port);
}
bootstrap();
function haltOnTimedOut (req, res, next) {
if (!req.timedout){
next();
} else {
res
.status(408)
.json({ status: 'error', data: 'timeout'})
}
}
但运气不佳。
推荐答案
为了增加nestjs-api应用服务器请求/响应超时,我在main.js中执行了以下操作
const server = await app.listen(5000);
server.setTimeout(1800000); // 600,000=> 10Min, 1200,000=>20Min, 1800,000=>30Min