我正在尝试执行一个Postgresql查询,该查询将数据附加到具有特定ID的数组中,如果查询不能更新任何行,则它应该在前端返回错误。但是,现在,我只能让它将错误返回到后端的日志中,而我想知道如何才能使其返回到用户的错误。 带有查询的代码位于存储库中,如下所示:
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)
它将在后端引发错误,但不会将其返回给前端的调用。在前端,我收到一个内部服务器错误。