Spaces:
Building
Building
// src/utils.js | |
/** | |
* Creates a promise that resolves after a specified number of milliseconds. | |
* @param {number} ms - The number of milliseconds to sleep. | |
* @returns {Promise<void>} | |
*/ | |
function sleep(ms) { | |
return new Promise(resolve => setTimeout(resolve, ms)); | |
} | |
/** | |
* Waits for a random amount of time within a specified range. | |
* Uses defaults from config if no arguments provided. | |
* @param {number} [minMs] - Minimum delay in milliseconds. | |
* @param {number} [maxMs] - Maximum delay in milliseconds. | |
* @returns {Promise<void>} | |
*/ | |
// Import config inside if needed for defaults, or keep simple defaults here | |
const config = require('./config'); // Import config to use defaults | |
async function randomDelay(minMs = config.defaultMinDelay, maxMs = config.defaultMaxDelay) { | |
// Ensure min is not greater than max | |
if (minMs > maxMs) { | |
[minMs, maxMs] = [maxMs, minMs]; // Swap if necessary | |
} | |
const delay = Math.floor(Math.random() * (maxMs - minMs + 1)) + minMs; | |
await sleep(delay); | |
} | |
module.exports = { randomDelay, sleep }; | |