Мне известно о forkJoin , но моя проблема отличается от следующего кода
getAllData() {
let riskTable = this.getRiskTable();
let risks = this.getAllRisks(); // should also return some observable
forkJoin(riskTable, risks).subscribe(_ => {
// all observables have been completed
});
}
Я выполняю много вычислений внутри каждого метода подписки, а HTTP-вызовы выполняются из разных методов и вычислений выполняются внутри самого метода .. Я не могу объединить все эти методы в один, потому что это приведет к дублированию кода, так как мне нужно вызывать эти методы отдельно в нескольких местах
например:
ngOnInit(){
this.getAllPartners()
this.getAllUoms();
this.getAllproductsByLocation();
this.getAllLocations();
this.getAllOperationTypes();
}
getAllLocations(){
this .queryResourceService.
getAllLocationsForTransfersUsingGET(this.allLocParams).subscribe((data:
LocationDTO[]) => {
this.locationDTOs = data;}) ,
error=>console.log("error"),
()=> this.spinner.hide();
}
getAllPartners(){
this.spinner.show();
this.queryResourceService.getAllPartnersUsingGET
(this.partnerParams).subscribe((data)={},
error=>console.log("err"),
()=> this.spinner.hide())
}
getAllproductsByLocation() {
this.spinner.show();
this.queryResourceService.
getAllProductsByLocationUsingGET(this.getAllProductsUsingGETParams)
.subscribe((data: StockDTO[]) => {
this.stockDTOs = data;
},
error=>console.log("error"),
()=> this.spinner.hide())
}
Теперь мне нужно выполнить блок кода после всех этих http вызовов внутри методов, возвращающих
this.getAllPartners()
this.getAllUoms();
this.getAllproductsByLocation();
this.getAllLocations();
this.getAllOperationTypes();
т.е. после того, как все эти вызовы методов возвращаются, а также asyn c обратные вызовы внутри них завершены
, как я могу этого добиться?