私はRxを使ってアニメーションクロックを保持しています。アニメーションフレームごとに、インターバルティックをそのティックの新しい値にマッピングします。RxJS(5.0rc4):インターバルタイマを一時停止してから再開
アニメーションを一時停止したいとします。最も自然な方法は、何とかクロックrxを中断し、後でそれを再開することです。
このサブスクリプションを購読解除すると、このアニメーション時計は寒い観察可能なので、resubscribeは自然なフィットにはなりません。再開時にアニメーションを再開したくありません。私が回避策をとるために行くと、私は新しいレジュームrxを生成しなければならなくなり、公開されているすべてのAPIが大幅に複雑になります。
背圧方法が有望いないようです:
pause
は動作しません、私は前方にジャンプしない、中断したところから再開したいので。言い換えれば、私はそれがオフになっている間、ダニをドロップしたくない。
pausableBuffered
は、再開すると蓄積されたすべてのティックをできるだけ早く排除するため、機能しません。完全に正常時の時間を停止してから再開する仮想時間スケジューラのいくつかの並べ替えを使用し
(?)私はRxJS 5.0rc4の午前
可能かもしれないが、私はRxJS上でこれを行う方法を知ることはできません4のいずれかである。どちらのバージョンのアドバイスもありがとうございます。
閉鎖で自分のチックカウンターを扱うことは、私にとって重要な洞察でした。それから私はidxを失うことを心配することなく、任意の間隔で購読したり、購読を解除することができます。 – masonk
1つのトリッキーなことが起こった。一時停止中にクロックが一時停止していて、間隔がリセットされません。しかし、その観測値が複数回にサブスクライブされると、例えば、私がclock.repeat()と言うとき、または複数のオブザーバーにこの時計を渡すときに、私はサブスクリプションの各インスタンスが独自のiを持つようにしたい。今は時計のすべての購読が同じカウンタをインクリメントしています。 – masonk