my / src /utils.js
understanding's picture
Upload 13 files
14960b8 verified
// 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 };