33 lines
617 B
JavaScript
33 lines
617 B
JavaScript
'use strict';
|
|
|
|
class AbortSignal {
|
|
onabort = null;
|
|
_aborted = false;
|
|
constructor() {
|
|
Object.defineProperty(this, "_aborted", {
|
|
value: false,
|
|
writable: true,
|
|
});
|
|
}
|
|
get aborted() {
|
|
return this._aborted;
|
|
}
|
|
abort() {
|
|
this._aborted = true;
|
|
if (this.onabort) {
|
|
this.onabort(this);
|
|
this.onabort = null;
|
|
}
|
|
}
|
|
}
|
|
|
|
class AbortController {
|
|
signal = new AbortSignal();
|
|
abort() {
|
|
this.signal.abort();
|
|
}
|
|
}
|
|
|
|
exports.AbortController = AbortController;
|
|
exports.AbortSignal = AbortSignal;
|