我需要在Angular-Ionic应用程序中调用自定义API。
问题是,在离子作用表中单击按钮后,我需要调用角度服务并从自定义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 MODULE中的提供者配置
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陷入了循环。