interval ^0-------1-------2-------3-------4-------5-------6-------7-------8-------9------|
auditTime ^------------------------3-------------------------------7----------------------|
bufferTime ^----------------[0,1]-------------------[2,3,4]-----------------[5,6,7]-[8,9]--|
debounceTime ^------------------------------------------------------------------------9------|
sampleTime ^----------------1-----------------------4-----------------------7--------------|
throttleTime ^0-------------------------------4-------------------------------8--------------|
import { interval, merge } from 'rxjs';
import { auditTime, bufferTime, debounceTime, sampleTime, throttleTime, tap, take } from 'rxjs/operators';
const intervaled = (operator, operatorName) =>
tap(x => console.log(`${operatorName}:${x}`))
interval(intrvl).pipe(take(takeValue), tap(v => console.log(`i: ${v}`))),
intervaled(auditTime(time), "auditTime"),
intervaled(bufferTime(time), "bufferTime"),
intervaled(debounceTime(time), "debounceTime"),
intervaled(sampleTime(time), "sampleTime"),
intervaled(throttleTime(time), "throttleTime")