acebase-client
Version:
Client to connect to an AceBase realtime database server
13 lines • 518 B
JavaScript
export class PromiseTimeoutError extends Error {
}
export function promiseTimeout(promise, ms, comment) {
return new Promise((resolve, reject) => {
const timeout = setTimeout(() => reject(new PromiseTimeoutError(`Promise ${comment ? `"${comment}" ` : ''}timed out after ${ms}ms`)), ms);
function success(result) {
clearTimeout(timeout);
resolve(result);
}
promise.then(success).catch(reject);
});
}
//# sourceMappingURL=promise-timeout.js.map