return throw
является синтаксической ошибкой, поскольку throw
является оператором, а не выражением.
Другая проблема заключается в том, что ошибка из возвращенного обещания не будет обработана с try..catch
в async..await
,должно быть:
return await this.dbInstance.AppOrg.find(...).then(...)
Нет необходимости использовать then
в async
функции, потому что await
является синтаксическим сахаром для then
:
private async insertAppOrg(orgId): Promise<number> {
try {
const appOrgData = await this.dbInstance.AppOrg.find({where: {orgId: orgId}});
if (appOrgData) {
return appOrgData.appOrgId;
} else {
return (await this.createAppOrg(orgId));
}
} catch (ex) {
throw new ErrorFactory.DatabaseError(ex);
}
}