Spaces:
Runtime error
Runtime error
| export default class RateLimiter { | |
| constructor(wait) { | |
| this.timeout = null; | |
| this.callback = null; | |
| this.wait = wait; | |
| } | |
| abort(call = true) { | |
| if (this.timeout) { | |
| clearTimeout(this.timeout); | |
| if (call) this.callback(); | |
| this.timeout = this.callback = null; | |
| } | |
| } | |
| limit(callback) { | |
| this.abort(false); | |
| this.callback = callback; | |
| this.timeout = setTimeout(() => { | |
| this.timeout = this.callback = null; | |
| callback(); | |
| }, this.wait); | |
| } | |
| } | |