(signal: AbortSignal | undefined)
| 174 | } |
| 175 | |
| 176 | function waitForAbort(signal: AbortSignal | undefined): Promise<void> { |
| 177 | if (signal?.aborted === true) { |
| 178 | return Promise.resolve(); |
| 179 | } |
| 180 | return new Promise((resolve) => { |
| 181 | signal?.addEventListener( |
| 182 | 'abort', |
| 183 | () => { |
| 184 | resolve(); |
| 185 | }, |
| 186 | { once: true }, |
| 187 | ); |
| 188 | }); |
| 189 | } |
| 190 | |
| 191 | function throwAbortError(): never { |
| 192 | throw new DOMException('The operation was aborted.', 'AbortError'); |