Как использовать Сервис в Global-interceptor в NEST Js - PullRequest
0 голосов
/ 24 мая 2018

Я хочу использовать службу в глобальном перехватчике.

мой код выглядит следующим образом:

import { VariablesService } from '../app/modules/variables/variables.service';

@Interceptor()
export class globalInterceptor implements NestInterceptor {
  constructor(private service: VariablesService) {
    console.log('contructor running', service);  //getting null here
  }

и на server.ts сначала я инициализировал вот так:

app.useGlobalInterceptors(new globalInterceptor())

, но после внедрения службы мне нужно внести некоторые изменения, потому что теперь нужны параметры в globalInterceptor()

const variableService = await app.get<VariablesService>(VariablesService);
  app.useGlobalInterceptors(new globalInterceptor(variableService));

Теперь, в чем проблема, которую я получаю service is null, и я не могу создать объект службы.

Ссылка на выпуск GitHub

1 Ответ

0 голосов
/ 25 мая 2018

Вы можете зарегистрировать глобальный перехватчик непосредственно из определения модуля:

import { Module } from '@nestjs/common';
import { APP_INTERCEPTOR } from '@nestjs/core';

@Module({
  providers: [
    {
      provide: APP_INTERCEPTOR,
      useClass: GlobalInterceptor,
    },
  ],
})
export class ApplicationModule {}

Это указано в официальной документации, здесь .

...