Angular, RxJs - динамически новые наблюдаемые с реакцией пользователя в качестве разрешения - PullRequest
1 голос
/ 13 мая 2019

Мы создаем модуль обмена сообщениями, который должен быть основан на RxJ и должен выдавать значение, основанное на реакции пользователя на другой компонент.

Я пробовал с of (), пропуская существующий BehaviorSubject, нони один из них не сработал, как ожидалось.Функциональность должна быть похожа на простое обещание, которое может разрешить пользователь.

Какой-то протокод, чтобы показать идею:

MessageService {
  message = new BehaviorSubject(undefined);

  addMessage(message) {
    this.message.next(message);
    return new Subject();
  }

  userClick(boolean) {
  // clicked on Ok or Cancel
  // We want to send that value to the subscription on addMessage
  }

}

AnotherService {
  ....
  this.messageService.addMessage('Are you sure?')
      .subscribe(boolean => console.log(boolean));
  ....
}

Поэтому, когда пользователь нажимает кнопку «ОК» или «Отмена» в том, что обрабатываетсяв MessageService подписка на AnotherService должна получить ответ.

1 Ответ

1 голос
/ 13 мая 2019

Для этого вам нужно где-нибудь создать Observable, а также метод, который, например, пройдет true/false.

Это можно сделать с помощью

requestUser(): Observable<boolean> {
// do some actions

return new Observable(observer => {
  // react here on what user does
  observer.next(true);
})
}

, что вызоветАбонент, чтобы получить истину / ложь на subscribe.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...