10 lines
303 B
TypeScript
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]);
|
|
}
|