В саге с Nestjs я получаю ошибку от rxjs типа hostReportError - PullRequest
0 голосов
/ 15 октября 2019

В настоящее время я настраиваю систему публикации статей (вырезанную в стиле CQRS) с сагой, которая прослушивает, готова ли статья к публикации. Сага выглядит следующим образом:

@Injectable()
export class ArticleSaga {
    @Saga()
    articleRegister = (events$: Observable<any>): Observable<ICommand> => {
        return events$
          .pipe(
              ofType(RegisterArticleEvent),
              delay(1000),
              map((event: {
                  uuid: string,
                  statut: string,
                  createBodyArticleDto: CreateBodyArticleDto,
              }) => {

                  return new PublishArticleCommand(event.uuid, event.statut, event.createBodyArticleDto);
              }),
          );
    }
}

Но когда я создаю статью, команда, выполняющая эту операцию, работает хорошо, но сага, которая слушает эту команду для запуска команды публикации, выдает ошибку, которую я не делаюпонять и то, что я не знаю, как решить. Ошибка выглядит следующим образом:

.../node_modules/rxjs/internal/util/hostReportError.js:4
    setTimeout(function () { throw err; }, 0);

CommandHandlerNotFoundException {
  message: 'CommandHandler not found exception!'
}

Обработчик PublishArticleHandler:

@CommandHandler(PublishArticleCommand)
export class PublishArticleHandler implements ICommandHandler<PublishArticleCommand> {
    constructor(
        private readonly publicRepository: PublicRepository,
    ) {}

    async execute(command: PublishArticleCommand) {...}

и PublishArticleCommand:

export class PublishArticleCommand implements ICommand {
    constructor(
        public readonly uuid: string,
        public readonly statut: string,
        public readonly createBodyArticleDto: CreateBodyArticleDto,
    ) {}
}

Если кто-то понимает эту проблему и имеет решение, ябыл бы очень рад прочитать это. ;)

1 Ответ

0 голосов
/ 15 октября 2019

Я обнаружил, почему у меня возникла эта ошибка, обработчик PublishArticleHandler не был импортирован в модуль.

...