Как действительно приостановить наблюдаемый rxjs?Как приостановить наблюдаемый
У меня есть следующий код:
var pauser = new Rx.Subject();
var animation = new Rx.Subject();
var source = animation.pausableBuffered(pauser);
source
.subscribe(function(frame) {
console.log('subscribe', frame);
setTimeout(function() {
source.resume();
}, frame.duration);
source.pause();
});
pauser.onNext(true);
console.log('start');
animation.onNext({ duration: 1000 });
animation.onNext({ duration: 2000 });
animation.onNext({ duration: 2000 });
http://jsfiddle.net/bbvarga/8yvLhjhe/
я ожидаю начала сообщение с в консоли, сразу после подписаться, чем 1s разрыв, чем один подписаться сообщение , чем 2s break, а последние подписаться
, но после одного второго перерыва я получил два последних подписаться сообщение немедленно. Кажется, я могу приостановить наблюдаемые только один раз.
Для тех, кому интересно, чего я хочу достичь: хочу иметь очередь событий, и я хочу получить следующее событие, если вызван какой-то обратный вызов для предыдущего (событие завершено. это просто простой setTimeout)