说明
NestJS超时拦截器存储器. 它可以为 NestJS 应用程序设置一个全局超时,它可以被控制器类别和方法特定超时的超时器所取代. 这使得用户在少量额外代码下有更大的灵活性. 方法性超时优于上课超时优于全球超时优待. 慢慢来!
安装
$ npm install @fuse-autotech/nest-timeout
使用量
截取器
选项 :
defaultTimeout- 截取器发射后数以毫秒计RequestTimeoutException如果终点没有定义其他超时isEnabled-确定拦截器是否启用。 默认为true。用于调试以避免超时
import { Module } from "@nestjs/common";
import { APP_INTERCEPTOR } from "@nestjs/core";
import { TimeoutInterceptor } from "@fuse-autotech/nest-timeout";
@Module({
imports: [],
controllers: [],
providers: [{
provide: APP_INTERCEPTOR,
useValue: new TimeoutInterceptor({ defaultTimeout: 10000 })
}]
})
export class AppModule {}
@Timeout() 装饰
既可以用于主计长,也可以用于主计长方法:
import { Controller, Get, Param, Post } from '@nestjs/common';
import { Timeout } from '@fuse-autotech/nest-timeout';
@Controller('cats')
@Timeout(10000) // Applied for all methods unless decorated
export class CatsController {
@Get()
findAll(): string {
return 'This action returns all cats';
}
@Get(':id')
@Timeout(30000) // Overrides controller timeout
findOne(@Param('id') id: string ): string {
return `This action returns a #${id} cat`;
}
@Post()
@Timeout(0) // Disables timeout for the method
create(): string {
return 'This action adds a new cat';
}
}
许可证
巢穴超时 麻省理工学院执照。 。 。 .