Я хочу иметь несколько подписок, чтобы реагировать на наблюдаемое событие, но я также хочу зарегистрировать событие, поэтому я передаю его через оператора do()
, в котором я веду запись.
проблема в том, что событие регистрируется один раз для каждой из создаваемых мной подписок!
Сейчас я обхожу это путем создания Subject
и вызова next
для него из обратного вызова события, чтопозволяет мне зарегистрировать событие один раз и вызвать несколько подписок.
Вот код, демонстрирующий проблему: https://stackblitz.com/edit/rxjs-xerurd
У меня такое ощущение, что я что-то упустил, не так ли?Есть ли более "RxJS" способ сделать это?
РЕДАКТИРОВАТЬ:
Я не спрашиваю о разнице между наблюдаемой горячей и холодной, на самом деле я использовал наблюдаемую горячую -созданный fromEvent()
, и ему было интересно, почему мой предположительно горячий источник событий ведет себя так, будто он холодный.
Теперь я понимаю - после прочтения share()
- что pipe()
"поворачивает" ваш наблюдаемый холод, то есть возвращает холод, основанный на вашем источнике (который может быть холодным, может быть горячим)