完成所有服务调用后,我需要执行一些代码,因为我需要来自每个服务调用的数据。
我有我的主要 ts 文件、服务 ts 文件和 api 控制器,其中将发生 db hit。
我的主要 Ts 文件代码
export class demoComponent implements OnInit{
data1 : any[]
data2 : any[]
data3 : any[]
ngOnInit() {
this.ServiceComponent.method1(this.id).subscribe((response: Response) => { this.data1 = <any>response, console.log('data', response) });
this.ServiceComponent.method2(this.id).subscribe((response: Response) => { this.data2 = <any>response, console.log('data', response) });
this.ServiceComponent.method3(this.id).subscribe((response: Response) => { this.data3 = <any>response, console.log('data', response) });
.
.
some codes to execute...
}
}
服务组件.ts 文件
public method1 = (id: number): Observable<any> => {return this._http.get(this.method1Url + id).map(response => { return <DataList>response.json() });}
public method2 = (id: number): Observable<any> => {return this._http.get(this.method2Url + id).map(response => { return <DataList>response.json() });}
public method3 = (id: number): Observable<any> => {return this._http.get(this.method3Url + id).map(response => { return <DataList>response.json() });}
从 serviceComponent.ts 调用 api 控制器并进行 db hit。
我面临的问题是在完成服务调用之前执行的服务调用之后存在一些代码,并且数据显示未定义,因为没有为数组分配值。
在 jquery 中,我们有操作员$.When()
,里面的所有服务都将执行,然后继续执行其他代码。是否有任何操作员在角度 4
完成所有服务调用后更好,代码应该执行。需要帮助
在此先感谢