我有一个渲染地图视图的组件。地图的数据是从后端服务调用中获取的。我尝试在浏览器的开发工具上进行实时调试。它进入服务调用,但似乎跳过了服务调用。但当我检查网络流量时,服务调用返回了值并且成功了。我认为组件在服务调用完成之前就加载了。
这就是 init 组件的样子
ngOnInit(): void {
this.myService.getData().subscribe(
(result) => {
this.data = result.body;
},
(result: HttpErrorResponse) = {
console.log(result.error);
}
);
this.loadMap();
}
在执行过程中,它会跳过服务调用并加载地图。'this.data' 显示为空。我尝试在 this.loadMap() 周围添加一个条件以确保有数据,但这只会停止渲染。该组件似乎不会等待服务调用完成。我尝试在组件加载之前使用 *ngIf 检查结果,但没有帮助。如何在组件渲染之前加载 this.data?