UNPKG

@beenotung/tslib

Version:
24 lines (23 loc) 639 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.IntervalPool = void 0; class IntervalPool { interval; currentTask = Promise.resolve(); constructor(interval) { this.interval = interval; } async queue(f) { return (this.currentTask = this.currentTask.then(() => new Promise((resolve, reject) => { setTimeout(() => { try { resolve(f()); } catch (e) { reject(e); } }, this.interval); }))); } } exports.IntervalPool = IntervalPool;