UNPKG

@novo-learning/novo-sdk

Version:

SDK for the Novolanguage Speech Analysis API

24 lines (22 loc) 676 B
/** * Wraps a promise P in a new promise which returns true if P resolved within the specified time and otherwise false * @param ms - milliseconds to wait before rejecting the promise if not resolved * @param promise to monitor */ export function promiseTimeout(ms: number, promise: Promise<unknown>): Promise<boolean> { return new Promise((resolve) => { // create a timeout to reject promise if not resolved const timer = setTimeout(() => { resolve(false); }, ms); promise .then(() => { clearTimeout(timer); resolve(true); }) .catch(() => { clearTimeout(timer); resolve(false); }); }); }