mlpcardgame/src/utils/timeout.ts

10 lines
303 B
TypeScript

export function withTimeout<T>(promise: Promise<T>, ms: number): Promise<T> {
const timeout = new Promise<T>((resolve, reject) => {
let id = setTimeout(() => {
clearTimeout(id);
reject("Timed out after " + ms + "ms.");
}, ms);
});
return Promise.race<T>([promise, timeout]);
}