У меня есть тема, на которую подписаны потребители:
private request$: Subject<Service> = new BehaviorSubject(null);
Это функция, которую мои компоненты вызывают при инициализации:
public service(id: number): Observable<Service> {
return this.request$
.pipe(
switchMap((request) => request && request.serviceId ? of(request) : this.requestById(id)));
}
и сервисный звонок:
private requestById(serviceId: number): Observable<Service> {
// http call
}
Разные компоненты вызывают эту функцию с разными id
с. Я хотел бы обновить / обновить тему, если значение входящего параметра id
не соответствует значению id
текущего субъекта.
Это возможно сделать? Я видел функцию iif
, но не думаю, что она мне подходит полностью.
Спасибо