UNPKG

tia

Version:

Time is All (logs driven test engine with ExtJs support)

43 lines 1.33 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); function delayed(ms, value) { return new Promise(resolve => setTimeout(() => resolve(value), ms)); } exports.delayed = delayed; exports.timeoutError = 'timeoutError'; /** * Waits a promise for specified timeout. * * @param {Promise} promiseToWait - promise to wait. * @param {number} ms - timeout in milliseconds * @returns {Promise} - promise which can be rejected with timeout or with error from promiseToWait. * or resolved with result of promiseToWait. */ function wait(promiseToWait, ms) { let rejectBecauseTimeout = true; return new Promise((resolve, reject) => { let timeoutId = null; promiseToWait .then(result => { if (timeoutId) { clearTimeout(timeoutId); } rejectBecauseTimeout = false; resolve(result); }) .catch(err => { if (timeoutId) { clearTimeout(timeoutId); } rejectBecauseTimeout = false; reject(err); }); timeoutId = setTimeout(() => { if (rejectBecauseTimeout) { reject(exports.timeoutError); } }, ms); }); } exports.wait = wait; //# sourceMappingURL=promise-utils.js.map