【发布时间】:2017-04-11 19:42:59
【问题描述】:
我正在使用 Rx 来保存动画时钟。每个动画帧,它都会将一个间隔刻度映射到该刻度的新值。
假设我想暂停动画。最自然的方法是以某种方式暂停时钟 rx,然后在稍后恢复它。
取消订阅然后重新订阅并不是一个自然的选择,因为这个动画时钟是一个冷的 observable。我不想在他们恢复时重新启动动画。如果我采用一种解决方法,我将不得不生成一个新的简历 rx,这会使所有暴露的 API 变得非常复杂。
背压方法似乎没有希望:
pause 不起作用,因为我想从中断的地方继续,而不是向前跳。换句话说,我不想在它关闭的时候滴滴答答。
pausableBuffered 不起作用,因为在恢复时,它将尽快耗尽所有累积的刻度。
使用某种虚拟时间调度器完全停止时间然后恢复正常时间可能是可能的(?)
我使用的是 RxJS 5.0rc4,但我也不知道如何在 RxJS 4 上执行此操作。任何版本的任何建议都将不胜感激。
【问题讨论】: