karlkoder-playground/src/code_stopper.js
2025-10-10 18:01:15 +02:00

25 lines
469 B
JavaScript

export class CodeStopper {
constructor() {
this.abortController = new AbortController();
}
start() {
this.abortController = new AbortController();
}
stop() {
this.abortController.abort();
}
isStopped() {
return this.abortController.signal.aborted;
}
addListener(fn) {
this.abortController.signal
.addEventListener("abort", () => {
fn();
});
}
}