結論
下記のようにすることで、observable
から流れてくる最初のイベントから500msの間隔があくまで、次のイベントをストリームに流さないようにすることができます。例えば、UIScrollView
なんかで最初のスクロールイベントのみを取得したい場合なんかに有効です。
observable .throttle(.milliseconds(500), latest: false, scheduler: MainScheduler.instance)
ちなみに、latest
はデフォルトでtrue
です。latest
がtrue
の場合は、最初のイベントと期間内に発生したイベントの最後のイベントの二つを取得することができるようになります。
observable .throttle(.milliseconds(500), latest: true, scheduler: MainScheduler.instance)