Estoy trabajando en un juego como Kahoot y estoy usando la función forEach en un DataSnapshot para recorrer cada pregunta. El problema es que, dado que no hay forma de "rendir", simplemente salta a la última pregunta. ¿Cómo podría "ceder", y luego, una vez que ocurre una determinada acción (cuando hacen clic en cualquiera de las cuatro opciones), simplemente "continúa"? Probé el operador de yield en el ciclo forEach y en realidad se detuvo en la primera pregunta, sin embargo, continue o algo así no funcionaría. Aquí está mi código:
snapshot.forEach(function(item) { var ol = Object.values(item.val().Options) var olk = Object.keys(snapshot.val()) var q = "Question " + olk[questionIndex].split("Question")[1] + ": " + item.val().Question document.getElementById("theQuestion").innerText = q questionIndex++ for (var i = 0; i < answerBtns.length; i++) { answerBtns[i].innerText = ol[i] } document.querySelector(".qna-section").addEventListener('click', (e) => { if (e.target.nodeName.toLowerCase() != "button") return; if (e.target.innerText == item.val().CorrectAnswer) { console.log("Question index " + questionIndex + ": Correct!") } else { console.log("Question index " + questionIndex + ": Incorrect.") } // I want it to sort of "continue" here. }) // I want to sort of "yield" here. })He estado atascado en esto durante aproximadamente una semana, ¡así que agradecería la ayuda! Gracias.