diff options
author | Luca Casonato <lucacasonato@yahoo.com> | 2021-06-06 15:37:17 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-06-06 15:37:17 +0200 |
commit | 1fb2e23a6747a4f774e63639eb522cb34aadbf42 (patch) | |
tree | 4cf18f9519b64ae923aa99ad9ba3a0bedebf6b5b /extensions/web/03_abort_signal.js | |
parent | 3f9187c366be362a219274ded5be9e679b96af98 (diff) |
feat(fetch): implement abort (#10863)
This commit introduces fetch aborting via an AbortSignal.
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); |