@jaenster/queues
Version:
17 lines (13 loc) • 354 B
text/typescript
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);
});