Perform operation repeatedly on status
by borisjavier
HTML
<input type="text" id="statId" value="true">
JavaScript
let a = [200, 201, 206, 204];
let statusId;
function assignStatusId() {
const randomIndex = Math.floor(Math.random() * a.length);
statusId = a[randomIndex];
console.log('statusId asignado:', statusId);
return statusId;
}
function assignStatusIdRandomly() {
assignStatusId(); // Asigna un valor inicial antes de empezar a iterar cada 3 segundos
setInterval(() => {
assignStatusId();
}, 5000); // Ejecuta la asignación cada 3 segundos
}
assignStatusIdRandomly();
//let statusId = 204;
async function performCheck(statusId) {
console.log('Estoy chequeando');
return statusId;
}
/*async function checkRepeatedly() {
let continueChecking = true; // Bandera para controlar si se debe seguir verificando
while (continueChecking) {
const status = await performCheck(statusId);
switch (status) {
case 200:
console.log('Deteniendo la verificación.');
continueChecking = false;
return;//continueChecking = false; // Establecer la bandera en falso para detener la verificación
case 201:
await new Promise(resolve => setTimeout(resolve, 1000));
break;
case 206:
await new Promise(resolve => setTimeout(resolve, 5000));
break;
case 204:
console.log('Continuando la verificación cada 5 segundos...');
for (let i = 0; i < 6 && continueChecking; i++) { // Ejecutar durante 30 minutos o hasta que se detenga
await performCheck(statusId);
await new Promise(resolve => setTimeout(resolve, 1000));
}
if (true) {
console.log('Se han pasado 30 minutos. Deteniendo la verificación.');
continueChecking = false;
return;
}
break;
default:
...