В вашем случае (на основе кода) у вас есть функция presentLoading, которая возвращает обещание (asyn c), поэтому, даже если внутри нее вы используете операторы await - внутри крючка ngOnInit ничто не инструктирует выполнение для ожидания ожидания для presentLoading.
Вы можете сделать:
async ngOnInit() {
await this.presentLoading();
this.myService.get().subscribe((item)=>{
console.log('dismiss');
this.loading.dismiss();
}, ()=>{
this.loading.dismiss();
})
}
Кроме того, поскольку вы используете Onservables, может иметь смысл вызвать dismiss внутри "завершенной" функции:
async ngOnInit() {
await this.presentLoading();
this.myService.get().subscribe((item)=>{
console.log('dismiss');
}, (error)=>{
console.log(error);
}, (completed)=>{
this.loading.dismiss();
}
})
A примечание - создание ngOnInit asyn c метода не «повредит», но лучше узнать немного больше о том, какие последствия он имеет: async / await в Angular `ngOnInit`