por que o zerar() vai para baixo do alert('Tempo finalizado!')?
o temporizador não deveria zerar primeiro para depois exibir o alert() na tela?
quais as possíveis inconsistências em ambos os casos? com o zerar() antes ou após o alert()
por que o zerar() vai para baixo do alert('Tempo finalizado!')?
o temporizador não deveria zerar primeiro para depois exibir o alert() na tela?
quais as possíveis inconsistências em ambos os casos? com o zerar() antes ou após o alert()
Oii Ketrin, tudo bem?
No JavaScript, a função alert() é uma função síncrona, o que significa que ela bloqueia a execução do código até que o usuário feche a janela de alerta. Isso quer dizer que qualquer código após o alert() não será executado até que o alerta seja fechado.
O trecho de código que você mencionou:
const contagemRegressiva = () => {
if(tempoDecorridoEmSegundos <= 0){
// audioTempoFinalizado.play()
alert('Tempo finalizado!')
zerar()
return
}
tempoDecorridoEmSegundos -= 1
console.log('Temporizador: ' + tempoDecorridoEmSegundos)
}
Quando o alert('Tempo finalizado!') é chamado, ele exibe a mensagem e espera o usuário interagir com o alerta (clicando em "OK", por exemplo). Somente após essa interação, a função zerar() será executada.
Com zerar() antes do alert():
alert() será exibido depois. Isso pode ser mais intuitivo, pois o temporizador é redefinido antes de notificar o usuário.Com alert() antes do zerar():
Depende do comportamento desejado. Se a prioridade é garantir que o temporizador seja zerado imediatamente, coloque zerar() antes do alert(). Se a prioridade é notificar o usuário antes de qualquer outra ação, mantenha o alert() antes do zerar().
Um abraço e bons estudos.