Soy nuevo con Javascript, por lo que es un poco difícil para mí explicar esto correctamente.
Tengo esta función recursiva:
function askQuestion(question){ let answer = prompt(question); if(answer === ""){ alert("The answer is empty..."); askQuestion(question); } return answer; }Entonces, el problema : si la respuesta del usuario estaba vacía y la función se vuelve a llamar, cuando el usuario indica una respuesta no vacía, el valor de "respuesta" permanece vacío. Noté que la pila de llamadas de Chrome vuelve a llamar a la función incluso cuando la respuesta está vacía. No puedo entender por qué sucede esto, pero sospecho que el problema está ahí. Traté de "restablecer" el valor de la respuesta a nulo, pero luego el valor de la respuesta permanece como nulo.
📷 captura de pantalla de la inspección de cromo
Además, no estoy totalmente seguro de que este tipo de funciones se llamen funciones recursivas... 😅
Puede usar un ciclo while en su lugar, verificando mientras la respuesta está vacía para llamar al prompt(question)
while(answer === ""){ answer = prompt(question); } return answer;deberías devolver el resultado de la función
const askQuestion = question => { let answer = prompt(question); if(answer === '') { alert("The answer is empty..."); return askQuestion(question); } return answer; }