UNPKG

warframe-nexus-query

Version:

Query prices form nexus-stats.com and warframe.market.

20 lines (18 loc) 704 B
/** * Copied from https://italonascimento.github.io/applying-a-timeout-to-your-promises * Apply a timeout to your promise * @param {number} ms Milliseconds to time out after * @param {Promise} promise Promise to time out * @returns {Promise} Pending promise that works or rejects with an error */ export default (ms, promise) => { // Create a promise that rejects in <ms> milliseconds const timeout = new Promise((resolve, reject) => { const id = setTimeout(() => { clearTimeout(id); reject(new Error(`Timed out in ${ms}ms.`)); }, ms); }); // Returns a race between our timeout and the passed in promise return Promise.race([promise, timeout]); };