UNPKG

@jaenster/queues

Version:
17 lines (13 loc) 354 B
import {FiFo} from "../queue/fi-fo.js"; export interface Workable { work(): void | Promise<void> } let timeoutSet = 0; export const Work = () => { timeoutSet = 0; const {queue} = Work; while (queue.has()) queue.next().work(); }; Work.queue = new FiFo<Workable>(() => { if (++timeoutSet === 1) setTimeout(Work); });