Мне нужно вызывать пользовательские API в Angular-Ionic-приложении.
Проблема в том, что после нажатия на кнопку в листе ионного действия мне понадобится угловая служба для вызова и получения некоторыхданные из пользовательского API.
Служба работает, фактически она успешно извлекает данные, но NgProgressInterceptor
застревает в бесконечном цикле, даже если данные были получены.
Разметка HTML:
<button mat-icon-button (click)="openTimeMenu()" class="customFontH left_rightMiddleAlign" >T</button>
Код машинописного текста:
async openTimeMenu() {
const actionSheet = await this.actionSheetController.create({
header: 'Sample',
buttons: [
{
text: 'Now',
handler: () => {
this.ListService.getList().subscribe(List => this.setList(List));
}
},
{
text: 'Cancella',
role: 'cancel',
handler: () => {
console.log('Cancel clicked');
}
}
]
});
await actionSheet.present();
}
Сервисный код:
public getList (): Observable<any>
{
let url = this.global.BASE_URL + " . . . ";
return this.global.http.get(url, {}).pipe(
tap(list => catchError(this.global.handleError('getList ', [])))
);
}
Конфигурация провайдера в МОДУЛЕ APP
import { NgProgressModule, NgProgressInterceptor } from 'ngx-progressbar';
import { HttpClient, HttpHeaders, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';
. . .
@NgModule({
providers: [
{ provide: HTTP_INTERCEPTORS, useClass: NgProgressInterceptor, multi: true },
]
})
Приложение работало нормально, пока я не реализовал лист ионного действия, похоже, что обработчик сломал что-то, из-за чего NgProgressInterceptor попал в цикл.