Создание исключения HTTP-гнезда приводит к отклонению обещания - PullRequest
0 голосов
/ 11 июля 2019

Я пытаюсь вызвать исключение http-гнезда, чтобы использовать обработчик вложений по умолчанию.

Я пытался сгенерировать исключение в контроллере, который вызывает функцию adminService.update, и с большим успехомработал.

  async update(update: DeepPartial<Admin>) {
    const admin = await this.findOne({ id: update.id});
    const adminName = await this.findOne({ username: update.username});
    if (!adminName) {
      throw new ConflictException('Username already in use');
    }
    admin.username = update.username;
    admin.save();
  }

Вывод при помещении вызова в контроллер:

{
  "statusCode": 409,
  "error": "Conflict",
  "message": "Username already in use"
}

Метод контроллера.

  @Put()
  async update(@Body() updateDTO: UpdateDTO): Promise<void> {
    throw new ConflictException('Username already in use');
    this.adminService.update(updateDTO);
  }

Сама ошибка:

UnhandledPromiseRejectionWarning: Error: [object Object] at AdminService.<anonymous> (C:\Users\JBRETAS_EXT\Documents\mapa-digital\dist\admin\admin.service.js:55:19) at Generator.next (<anonymous>)

1 Ответ

1 голос
/ 11 июля 2019

Кажется, что в моем методе контроллера пропущен оператор return.

  @Put()
  async update(@Body() updateDTO: UpdateDTO): Promise<void> {
    return this.adminService.update(updateDTO);
  }
...