我正在使用Angular创建一个仪表板。我正在致电Server PostGIS,其中包含空间数据以可视化到我的传单地图中。 当我加载页面时,一切正常。
步骤是:
getDoors(): Observable<any> {
return this.http
.get(this._endpoint+'/api/doors')
.pipe(
tap(_ => console.log('fetched doors')),
catchError(this.handleError('getDoors')),
map(this.extractData)
);
}
this.serverRequest.getDoors().subscribe(res => this.doors = res);
<div *ngIf="doors">
<app-map [data]="doors"></app-map>
</div>
..other template component ..
考虑到我们谈论的是http调用,我不会退订[2]。
按预期,一切正常。但是考虑大量查询结果(约5000个结果),然后再在地图上显示这些结果会花费几秒钟,并且页面和其他组件也会冻结。
我会得到什么? 我希望创建地图和其他组件,并在可用时添加数据。
参考
[1] https://scotch.io/tutorials/3-ways-to-pass-async-data-to-angular-2-child-components
[2] Is it necessary to unsubscribe from observables created by Http methods?