Я работаю над видеоплеером с двумя отличительными способами определить, следует ли подписаться на наблюдаемое или нет. это _videoInfo $ и _exit $. Это потоки, которые выдают значения при вызове на проигрывателе.
У меня есть наблюдаемая переменная _data $, которая выдает все значения, которые мне нужно отслеживать, но я хочу подписаться на нее только во время воспроизведения видеоплеера.
Я знаю, что следующий подход неверен, но он объясняет, чего я пытаюсь достичь. В настоящее время он не работает, потому что я не могу отписаться от _data $.
const _data$ = data$.subscribe(event => {
// data I need when video is playing
});
_videoInfo$.subscribe((res): void => {
// when res emits it means a new video is starting
_data$.subscribe();
});
_exit$.subscribe({
next: () => {
_data.unsubscribe(); // this does not work, but i want to unsubscribe here
},
error: () => {},
complete: () => {}
});
Как я могу подписаться на _data $, когда $ videoInfo выдает значение, и отписаться от него, когда _exit $ выдает значение?