UNPKG

@qso-soft/shared

Version:

Shared library for QSO-soft

21 lines 717 B
export const getTimeoutPromise = ({ timeoutInSeconds, errorMessage }) => { let timeout; const timeoutPromise = new Promise((_resolve, reject) => { timeout = setTimeout(() => { reject(new Error(errorMessage || '')); }, timeoutInSeconds * 1000); }); return { timeout, timeoutPromise, }; }; export const callFunctionWithTimeout = async ({ timeoutInSeconds, callback, errorMessage, }) => { const { timeoutPromise, timeout } = getTimeoutPromise({ timeoutInSeconds, errorMessage }); const result = (await Promise.race([callback(), timeoutPromise])); return { result, timeout, }; }; //# sourceMappingURL=call-with-timeout.js.map