UNPKG

@drift-labs/sdk-browser

Version:
15 lines (13 loc) 404 B
export function promiseTimeout<T>( promise: Promise<T>, timeoutMs: number ): Promise<T | null> { let timeoutId: ReturnType<typeof setTimeout>; const timeoutPromise: Promise<null> = new Promise((resolve) => { timeoutId = setTimeout(() => resolve(null), timeoutMs); }); return Promise.race([promise, timeoutPromise]).then((result: T | null) => { clearTimeout(timeoutId); return result; }); }