Использование ng9 У меня есть служба, которая проверяет использование ресурсов. Я хочу, чтобы это инициировало событие, чтобы я мог иметь диалоговое окно c для информирования пользователя. Служба будет вызываться из множества мест, например, при сохранении записи.
Проблема в том, что, если кажется, никогда не запускается событие или не наблюдается (я пробовал оба). Я думаю, это потому, что это вызвано изнутри трубы, может быть?
Служба:
private _limitExceeded = new ReplaySubject<LimitExceededEvent>(1);
limitExceeded$ = this._limitExceeded.asObservable();
...
checkResourceUsage(code: string): Observable<boolean> {
return this.getLimits(code).pipe(
map(limits => {
if (limits) {
const ev = new LimitExceededEvent();
this._limitExceeded.next(ev);
return false;
}
// no limits? not possible ? lets assume so and be kind to people
return true;
}));
}
Компонент:
if (this.form.valid) {
this.limitsService.checkResourceLimit(Resources.Thing).subscribe((ok) => {
if(ok) {
.. go ahead and save it
Слушатель приложения:
this.limitsService.limitExceeded$
.subscribe((ev: LimitExceededEvent) =>
this.dialog.open(LimitExceededDialogComponent, { data: ev }));
Что я здесь не так делаю?