src/Observable.php
public function throttle(int $throttleDuration, SchedulerInterface $scheduler = null): Observable
    {
        return $this->lift(function () use ($throttleDuration, $scheduler) {
            return new ThrottleOperator($throttleDuration, $scheduler ?: Scheduler::getDefault());
        });
    }
public function throttle(int $throttleDuration, SchedulerInterface $scheduler = null): Observable
    {
        return $this->lift(function () use ($throttleDuration, $scheduler) {
            return new ThrottleOperator($throttleDuration, $scheduler ?: Scheduler::getDefault());
        });
    }
public function throttle ( int $ throttleDuration , SchedulerInterface $ scheduler = null ) : Observable { return $ this -> lift ( function ( ) use ( $ throttleDuration , $ scheduler ) { return new ThrottleOperator ( $ throttleDuration , $ scheduler ? : Scheduler :: getDefault ( ) ) ; } ) ; }
Returns an Observable that emits only the first item emitted by the source Observable during
sequential time windows of a specified duration.

If items are emitted on the source observable prior to the expiration of the time period,
the last item emitted on the source observable will be emitted.

@param $throttleDuration
@param SchedulerInterface $scheduler
@return Observable

@demo throttle/throttle.php
@operator
@reactivex debounce
Returns an Observable that emits only the first item emitted by the source Observable during sequential time windows of a specified duration .