fix: validate AbortSignal instances before calling AbortSignal.any()

Fixes #7269
This commit is contained in:
Elarwei
2026-02-03 00:36:18 +08:00
committed by Shakker
parent 64849e81f5
commit a63ec41a7b

View File

@@ -22,9 +22,14 @@ function combineAbortSignals(a?: AbortSignal, b?: AbortSignal): AbortSignal | un
if (b?.aborted) {
return b;
}
if (typeof AbortSignal.any === "function") {
return AbortSignal.any([a as AbortSignal, b as AbortSignal]);
if (
typeof AbortSignal.any === "function" &&
a instanceof AbortSignal &&
b instanceof AbortSignal
) {
return AbortSignal.any([a, b]);
}
const controller = new AbortController();
const onAbort = () => controller.abort();
a?.addEventListener("abort", onAbort, { once: true });