summaryrefslogtreecommitdiff
path: root/extensions/web/03_abort_signal.js
diff options
context:
space:
mode:
authorLuca Casonato <lucacasonato@yahoo.com>2021-06-06 15:37:17 +0200
committerGitHub <noreply@github.com>2021-06-06 15:37:17 +0200
commit1fb2e23a6747a4f774e63639eb522cb34aadbf42 (patch)
tree4cf18f9519b64ae923aa99ad9ba3a0bedebf6b5b /extensions/web/03_abort_signal.js
parent3f9187c366be362a219274ded5be9e679b96af98 (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.js14
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);