fix: clear timeout after promise rejection (#24864)

This commit is contained in:
Luke Parker
2026-04-28 23:37:12 +00:00
committed by GitHub
parent 91bd295209
commit 9fbeafb63e
+1 -2
View File
@@ -1,9 +1,8 @@
export function withTimeout<T>(promise: Promise<T>, ms: number): Promise<T> { export function withTimeout<T>(promise: Promise<T>, ms: number): Promise<T> {
let timeout: NodeJS.Timeout let timeout: NodeJS.Timeout
return Promise.race([ return Promise.race([
promise.then((result) => { promise.finally(() => {
clearTimeout(timeout) clearTimeout(timeout)
return result
}), }),
new Promise<never>((_, reject) => { new Promise<never>((_, reject) => {
timeout = setTimeout(() => { timeout = setTimeout(() => {