Переключайтесь между потоками данных и заставляйте их приостанавливать / играть с RxJs - PullRequest
0 голосов
/ 05 октября 2018

У меня есть getUserData$(userId), который возвращает пользовательские данные на основе выпадающего списка, и, если не предоставлен userId, возвращает поток по умолчанию, pauser отражает состояние паузы / воспроизведения,

var clicks = Observable.fromEvent(document, 'click')
    .map(function() {
      var pauseStatus= state.get('dashboard').get('pauseStatus')
      return pauseStatus;
    });       
  var pauser = new Subject();
  clicks.subscribe(pauser);

Я хочу переключаться междуразличные потоки и делают их также приостановленными:

var sources = [];
var newSub =()=>{return new Subject();} 
sources.push(newSub());
getUserData$().subscribe(sources[0]);

//if new user is selected from dropdown
if(user_id){
sources.push(newSub());
getUserData$(user_id).subscribe(sources[sources.length-1]);

}
var pausable = pauser.switchMap(paused => paused ? Observable.empty() : sources[sources.length-1]);

pausable.subscribe(function(result){...})

но он продолжает прыгать между двумя потоками, отображая оба, что я делаю не так?

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