RxSmartThrottle

master

Observable.throttle with custom intervals
toshi0383/RxSmartThrottle

RxSmartThrottle

Observable.throttle with custom interval.

Example: Exponential Backoff

source
    .throttle(dueTime: { max($1 * 2, 1) }, // (E, RxTimeInterval) -> RxTimeInterval
              resetWhen: resetTrigger,     // Observable<U>
              latest: true,
              scheduler: scheduler)
    .disposed(by: disposeBag)

With the parameters above,

  • throttle interval increases exponentially (1, 2, 4, 8...),
  • until the resetWhen's next event.

After resetWhen, throttle interval is reset to 0 (meaning that next source's event will be forwarded immediately)

Install

Copy paste source file to your project for now. 👌

I'm just too lazy to support Carthage or CocoaPods. It's Saturday afternoon.

LICENSE

MIT

Description

  • Swift Tools 4.0.0
View More Packages from this Author

Dependencies

Last updated: Sun Apr 14 2024 17:07:22 GMT-0900 (Hawaii-Aleutian Daylight Time)