Как я могу вернуть ошибку обещания на переднем конце - PullRequest
0 голосов
/ 26 октября 2019

Я пытаюсь выполнить запрос Postgresql, который добавляет данные в массив для определенного идентификатора, и, если запрос не может обновить какие-либо строки, он должен вернуть ошибку во внешней части. Однако прямо сейчас я могу заставить его только возвращать ошибку в журналы на бэкэнде, и мне было интересно, как я могу заставить его вернуть ошибку, которая будет выдана пользователю. Код с запросом находится в репозитории, как показано ниже:


  public updateThis(
  user: number,
  name: string,
): Promise<User> {
  let self = this
  return new Promise<User>(function(resolve, reject){
     self.dataSource.execute('update lbstarter.users SET friends = array_append(friends, '+
     1 + ') where user = '+ user + ' and name = \'' + name +
  '\' and completed = false returning id AS id, friends AS friends;', [])
  .then(record => {
    if (record.rows.length == 0) {
      return Promise.reject('No record found')
    }
    else {
      resolve(record.rows)
    }
  }).catch(err => {throw new Error(err)});
   })
}

Маршрут, который вызывает этот код, просто:

return await this.userRepository.updateThis(user, name)

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

...