我想在Angular 2中使用angular 1 $ http.pendingRequest的替代方法,或者像拦截器一样全局跟踪。主要用于在拨打电话时显示加载图标
答案 0 :(得分:1)
我可能只是在observable没有返回时保持图标的状态。
示例:
export class MyClass {
private isLoaded = false;
constructor(private myService: MyService){}
ngOnInit(){
this.myService.myServiceCall().subscribe(data => {
console.log(data);
this.isLoaded = true;
});
}
}
然后在对话框中使用*ngIf
。您还可以考虑使用Angular为以下场景提供的异步管道:
https://angular.io/docs/ts/latest/api/common/index/AsyncPipe-pipe.html
答案 1 :(得分:-1)
您可以这样做:
getItem(itemID:string){
if(this.pendingRequest){
this.pendingRequest.unsubscribe();
}
this.pendingRequest = this.http.get(`./country-info/${itemID}`).map((res: Response) => res.json()).subscribe(res => this.item = res.item);
}