| 123 | } |
| 124 | } |
| 125 | function triggerAbortSignal(signal, reason) { |
| 126 | if (signal.aborted) |
| 127 | return; |
| 128 | if (reason === undefined) { |
| 129 | reason = new DOMException("", "AbortError"); |
| 130 | reason.code = 20; |
| 131 | } |
| 132 | signal.aborted = true; |
| 133 | signal.reason = reason; |
| 134 | const event = { |
| 135 | signal:signal.self, |
| 136 | } |
| 137 | signal.eventListeners.abort.forEach(eventListener => eventListener.call(null, event)); |
| 138 | signal.dependents?.forEach(dependent => triggerAbortSignal(dependent, reason)); |
| 139 | signal.dependents = null; |
| 140 | } |
| 141 | |
| 142 | class AbortController { |
| 143 | #signal; |