Ваш код, преобразованный в async / await:
async save() {
let tenant = this.modelFor(this.routeName).tenant;
let app = this.modelFor(this.routeName).app;
try {
await tenant.save();
try {
await tenant.get('app').save({ adapterOptions: { tenantId: tenant.id }});
this.transitionTo('tenants.tenant.info', tenant.id);
} catch (error) {
tenant.get('app').rollback();
throw error;
}
} catch (error) {
tenant.rollback();
throw error;
}
}
Чтобы преобразовать из обещаний, вы добавляете ключевое слово await
к вызовам методов, которые возвращают обещания.Все, что вы помещаете в метод обещания then
, вы можете просто поместить после оператора await
.
Методы обещания catch
преобразуются в обычные блоки try / catch.