Tengo una matriz con una lista de elementos (usuarios en este caso). Tengo una variable llamada currentBeneficiary. Quiero asignar a cada usuario para que sea un Beneficiario actual durante una cantidad de tiempo específica como 10 minutos, luego pasamos al siguiente miembro de la matriz y los asignamos a la variable (Beneficiario actual) durante la misma cantidad de tiempo y así sucesivamente. He usado SetInterval() y asigna un elemento de la matriz a la variable solo por 1 segundo después del período de tiempo especificado. Y como se mencionó, solo quiero viceversa. ¿Cómo puedo lograr esto amablemente?
const members = merrygoround.members let currentbeneficiary if(merrygoround.interval === "daily"){ function DelayArray(array, delegate, delay) { var i = 0 var interval = setInterval(function() { delegate(array[i]); if (i++ >= array.length - 1) clearInterval(interval); }, delay) return interval } DelayArray(members, function(obj) { currentbeneficiary = obj console.log(`current beneficiary is ${currentbeneficiary}`) },1000*60) }setInterval significa que el proceso esperará un "retraso" antes de ejecutar su lógica, luego espere un "retraso" nuevamente. No estoy seguro de entender tu pregunta. Supongo que desea que el primer usuario se ejecute en el momento en que DelayArray llame, por lo que simplemente llame a la función de delegado para el primer usuario antes de ejecutar DelayArray, variable que comenzaré con 1.