summaryrefslogtreecommitdiff
path: root/ext/web
diff options
context:
space:
mode:
Diffstat (limited to 'ext/web')
-rw-r--r--ext/web/03_abort_signal.js14
1 files changed, 8 insertions, 6 deletions
diff --git a/ext/web/03_abort_signal.js b/ext/web/03_abort_signal.js
index 4c6230e52..2cc64189b 100644
--- a/ext/web/03_abort_signal.js
+++ b/ext/web/03_abort_signal.js
@@ -86,15 +86,17 @@ class AbortSignal extends EventTarget {
return;
}
this[abortReason] = reason;
- if (this[abortAlgos] !== null) {
- for (const algorithm of new SafeSetIterator(this[abortAlgos])) {
- algorithm();
- }
- this[abortAlgos] = null;
- }
+ const algos = this[abortAlgos];
+ this[abortAlgos] = null;
+
const event = new Event("abort");
setIsTrusted(event, true);
this.dispatchEvent(event);
+ if (algos !== null) {
+ for (const algorithm of new SafeSetIterator(algos)) {
+ algorithm();
+ }
+ }
}
[remove](algorithm) {