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:
   ...