Я довольно новый в Angular. Я не знаю, правильный ли этот шаблон, который я использую в различных сервисах. Моему сервису нужно выполнить несколько http запросов, чтобы быть готовым. Конструкторы не могут быть асинхронными c, поэтому я решаю эту проблему следующим образом:
Сервис
export class MyService {
constructor(HttpClient:http) {
}
private longAndNeededMethod():Observable{
//Blablabla....
return this.http.post(...);
}
async ready() {
if(notReady){
await this.longAndNeedMethod().toPromise().then(
(response)=>{
//do something
});
}
}
//Another methods
}
Компонент
export class MyComponent{
constructor(private myService:MyService){}
async onInit(){
await this.myService.ready();
}
//Another methods
}
Является ли этот дизайн правильным?
Спасибо