JavaScript warten, bis sich Variable ändern?
Ich habe ein Formular mit einem Submit-Button.
<button onClick={() => submitHandler("fromSubmitButton")}>Submit</button>
Die submitHandler Funktion sendet über einen Websocket eine Nachricht an den Server, ohne eine direkte Antwort zu bekommen, wie es mit async/await funktionieren würde:
socket.emit('email-submit', value)
Nach einiger Zeit kommt vom Server bzw. Websocket eine Nachricht:
socket.on('badEmailORphone', function(msg) {
setBadEmailORphone(msg)
});
In der Zeit zwischen dem Klick auf Submit und setBadEmailORphone gesetzt wird, möchte ich einen Ladescreen einblenden.
Rein logisch müsste ich den Ladescreen ab Klick auf den Submit-Button bis setBadEmailORphone setzen, aber wie kann ich in JavaScript x Sache machen, bis sich eine Variable ändert?
Meine erste Theorie war:
Submit onClick:
while(!setBadEmailOrphone) setLoading(true) //Mit etwas Delay zwischen Durchläufen