Event Loop & Timers
Batched Async Task Queue
hardJS SpecificJS / TS3 tests
Problem Statement
Implement `createBatchQueue(batchSize, flushInterval, onFlush)` that queues pushed items and flushes them to `onFlush(batch)` whenever either `batchSize` items accumulate OR `flushInterval` milliseconds elapse.
Examples
Example 1:
const queue = createBatchQueue(3, 1000, (items) => console.log('flushed', items));
queue.push(1);
queue.push(2);
queue.push(3); // flushes [1, 2, 3] immediately because size = 3 reachedJavaScript & TypeScript starter code included
Run this as a live interviewPractice solo
3 test cases. No second person needed.