diff options
Diffstat (limited to 'extensions/web/03_abort_signal.js')
-rw-r--r-- | extensions/web/03_abort_signal.js | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/extensions/web/03_abort_signal.js b/extensions/web/03_abort_signal.js index e2648e778..5d7e10bb2 100644 --- a/extensions/web/03_abort_signal.js +++ b/extensions/web/03_abort_signal.js @@ -118,11 +118,25 @@ AbortSignal, ); + function newSignal() { + return new AbortSignal(illegalConstructorKey); + } + + function follow(followingSignal, parentSignal) { + if (parentSignal.aborted) { + followingSignal[signalAbort](); + } else { + parentSignal[add](() => followingSignal[signalAbort]()); + } + } + window.AbortSignal = AbortSignal; window.AbortController = AbortController; window.__bootstrap.abortSignal = { add, signalAbort, remove, + follow, + newSignal, }; })(this); |