У меня есть функция, которую я хочу вернуть после завершения 3 наблюдений:
initialize(){
let src1:Observable<Account>; //initialization omitted for brevity
let src2: Observable<User>; //initialization omitted for brevity
// this is one is the problem
let src3: Observable<Company[]> = this.myHttpService.getCompanies()
.pipe(
//do something that calls `this.myHttpService.getDepartments(company.id)` for each company one at a time.
);
return merge(src1, src2, src3);
}
Для src3
в каждой компании есть несколько отделов.Я хотел бы позвонить на this.myHttpService.getDepartments(company.id)
для каждой компании.Только один раз все this.myHttpService.getDepartments
было вызвано для каждой компании.Только тогда src3
будет завершено.
Я прошел через любое количество комбинаций concatMap
, mergeMap
.... и я просто не получаю его.
Как сделатьЯ беру каждую компанию, получаю их отделы (Department[]
) по одной компании за раз, а затем, как только это будет сделано, src3
будет завершено?