Search code examples
javascriptrxjsreactivex

Collect several events before posting using Subject


i need to collect several event, not every time, before I will send the request.

const subject = new Subject();
subject.subscribe((event) => post(event));
const keydown$ = fromEvent(document, 'keydown');
keydown$.subscribe(d => subject.next(d);

Solution

  • You're looking for bufferTime:

    keydown$.bufferTime(2500).subscribe(…);
    

    bufferTime