concatMap
должно работать, но в зависимости от желаемого поведения вы можете попробовать switchMap
. В любом случае синтаксис аналогичен. Вам нужно будет передать эту операцию наблюдаемому объекту currentEmployeeId
. Когда это испускает новое значение, функция switchMap
может передать значение в функцию get
вашей службы, чтобы вернуть это наблюдаемое. Затем вы можете подписаться, как в вашем примере кода.
this.userService.currentEmployeeId.pipe(
switchMap(empId => this.service.getMissingContractsSummary(empId))
).subscribe(response => {
this.dataSource = new MatTableDataSource<Contractsummary>(response);
this.dataSource.paginator = this.paginator;
})
PS Не забудьте отказаться от подписки, так как похоже, что currentEmployeeId
может не завершиться.