signature: timeInterval(scheduler: *): Observable<TimeInterval<any>> | WebSocketSubject<T> | Observable<T>

Convert an Observable that emits items into one that emits indications of the amount of time elapsed between those emissions


Example 1: Time between mouse clicks

( StackBlitz )

// RxJS v6+
import { fromEvent } from 'rxjs';
import { timeInterval, tap } from 'rxjs/operators';

fromEvent(document, 'mousedown')
  .pipe(timeInterval(), tap(console.log))
    i =>
      (document.body.innerText = `milliseconds since last click: ${i.interval}`)

Additional Resources

📁 Source Code: https://github.com/ReactiveX/rxjs/blob/master/src/internal/operators/timeInterval.ts

Last updated