UNPKG

@exodus/solana-web3.js

Version:
15 lines (13 loc) 416 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; }); }