У меня есть такая наблюдаемая:
const records$ =
Rx.DOM.fromWebSocket('ws://192.168.2.4:9001/feed/', null)
.map(ev => parseRecord(ev.data))
.share();
У меня много подписчиков. При потере связи все абоненты отписываются:
let records$Subscription;
records$Subscription = records$.subscribe(
record => { ... },
error => records$Subscription.dispose()
);
Я убедился, что вызов dispose
действительно выполняется один раз для каждой подписки. Таким образом, счетчик ссылок share
достиг нуля.
Однако, когда я снова подписываюсь на records$
, новое соединение WebSocket не устанавливается. Однако когда я удаляю вызов share
, он удаляется. Почему это не работает должным образом с share
?