mirror of
https://github.com/denoland/deno.git
synced 2024-12-23 15:49:44 -05:00
feat(ext/web): implement AbortSignal.prototype.throwIfAborted()
(#13044)
See whatwg/dom#1034.
This commit is contained in:
parent
2926827726
commit
0f0dd5b7ec
3 changed files with 13 additions and 10 deletions
|
@ -85,6 +85,13 @@
|
|||
webidl.assertBranded(this, AbortSignal);
|
||||
return this[abortReason];
|
||||
}
|
||||
|
||||
throwIfAborted() {
|
||||
webidl.assertBranded(this, AbortSignal);
|
||||
if (this[abortReason] !== undefined) {
|
||||
throw this[abortReason];
|
||||
}
|
||||
}
|
||||
}
|
||||
defineEventHandler(AbortSignal.prototype, "abort");
|
||||
|
||||
|
|
4
ext/web/lib.deno_web.d.ts
vendored
4
ext/web/lib.deno_web.d.ts
vendored
|
@ -293,6 +293,10 @@ interface AbortSignal extends EventTarget {
|
|||
listener: EventListenerOrEventListenerObject,
|
||||
options?: boolean | EventListenerOptions,
|
||||
): void;
|
||||
|
||||
/** Throws this AbortSignal's abort reason, if its AbortController has
|
||||
* signaled to abort; otherwise, does nothing. */
|
||||
throwIfAborted(): void;
|
||||
}
|
||||
|
||||
declare var AbortSignal: {
|
||||
|
|
|
@ -4799,16 +4799,8 @@
|
|||
"abort": {
|
||||
"AbortSignal.any.html": true,
|
||||
"AbortSignal.any.worker.html": true,
|
||||
"event.any.html": [
|
||||
"throwIfAborted() should throw abort.reason if signal aborted",
|
||||
"throwIfAborted() should throw primitive abort.reason if signal aborted",
|
||||
"throwIfAborted() should not throw if signal not aborted"
|
||||
],
|
||||
"event.any.worker.html": [
|
||||
"throwIfAborted() should throw abort.reason if signal aborted",
|
||||
"throwIfAborted() should throw primitive abort.reason if signal aborted",
|
||||
"throwIfAborted() should not throw if signal not aborted"
|
||||
]
|
||||
"event.any.html": true,
|
||||
"event.any.worker.html": true
|
||||
},
|
||||
"events": {
|
||||
"AddEventListenerOptions-once.any.html": [
|
||||
|
|
Loading…
Reference in a new issue