25 lines
469 B
JavaScript
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();
|
|
});
|
|
}
|
|
}
|