UNPKG

ethernet-ip

Version:
26 lines (23 loc) 701 B
/** * Wraps a Promise with a Timeout * * @param {Promise} - promise to complete before the timeout * @param {number} - Timeout Length (ms) * @param {Error|string} - Error to Emit if Timeout Occurs * @returns {Promise} * @memberof Controller */ const promiseTimeout = (promise, ms, error = new Error("ASYNC Function Call Timed Out!!!")) => { return new Promise((resolve, reject) => { setTimeout(() => reject(error), ms); promise.then(resolve).catch(reject); }); }; /** * Delays X ms * * @param {number} ms - Delay Length (ms) * @returns {Promise} */ const delay = ms => new Promise(resolve => setTimeout(resolve, ms)); module.exports = { promiseTimeout, delay };