如何暂停可观察的

巴拉兹

如何真正暂停可观察的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突破,超过一个订阅消息,超过2秒突破,最后认购

但是一秒钟休息后,我立即收到了最后两个订阅消息。似乎我只能暂停一次可观察对象。

对于那些对我想要实现的目标感兴趣的人:我想拥有一个事件队列,并且想要接收下一个事件,如果上一个事件被调用了一些回调(该事件已完成。现在这只是一个简单的事情) setTimeout)

尤科

pausableBuffered在暂停时保留缓冲区,并在调用resume耗尽缓冲区您想要的看起来更像是受控的可观察对象source.request(1)

有关更多信息,请参见有关反压的rxjs文档

var animation = new Rx.Subject();
var source = animation.controlled();

source
.subscribe(function(frame) {
    console.log('new event', frame);
    setTimeout(function() {
        console.log('after timeout', frame);
        source.request(1);
    }, frame.duration);
});

source.request(1);

animation.onNext({ duration: 1000 });
console.log('animation.onNext 1');
animation.onNext({ duration: 2000 });
console.log('animation.onNext 2');
animation.onNext({ duration: 3000 });
console.log('animation.onNext 3')

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使输入可观察?

来自分类Dev

如何观察可观察类的属性

来自分类Dev

如何停止可观察的间隔

来自分类Dev

如何从用户返回可观察?

来自分类Dev

如何过滤可观察数组?

来自分类Dev

RxJS 6 当页面不活动时暂停或缓冲可观察

来自分类Dev

如何从可观察对象数组创建可观察对象数组?

来自分类Dev

如何管理相关可观察物的可观察订阅?

来自分类Dev

如何在剔除js中绑定可观察的可观察的

来自分类Dev

如何使用可观察的结果然后返回可观察的

来自分类Dev

如何在可观察的属性上过滤可观察的对象?

来自分类Dev

如何映射JavaFX可观察值?

来自分类Dev

如何退订可观察的RxJS 5?

来自分类Dev

我如何结束可观察的热点?

来自分类Dev

如何对可观察坐标列表进行排序?

来自分类Dev

如何订阅可观察领域的变更

来自分类Dev

RxJava可观察的“迭代”如何工作?

来自分类Dev

如何使Redux Store表现得可观察?

来自分类Dev

如何链接/组合可观察物

来自分类Dev

如何为可观察特征添加方法?

来自分类Dev

RxJs:如何根据可观察状态循环?

来自分类Dev

如何用可观察物定义周期

来自分类Dev

RXJava如何使可观察的继续onError

来自分类Dev

KnockoutJS可观察数组-如何获取长度

来自分类Dev

如何从pubnub订阅创建可观察对象

来自分类Dev

如何刷新RxJava中的可观察的?

来自分类Dev

如何制作可追加的可观察队列?

来自分类Dev

如何处理可观察对象?

来自分类Dev

如何嵌套多个可观察物/订阅