Gostaria de uma explicação sobre o comportamento do comando setInverval para caso abaixo:
function inicializaCronometro(){
let tempo = $('#tempo').text();
console.log('Inicio');
campo.one('focus',function(){
let cronometro = setInterval(function(){
tempo--;
$('#tempo').text(tempo);
if(tempo==0){
campo.attr('disabled',true);
console.log('fim do intervalo'); //deveria ser executado após 'Inicio'
clearInterval(cronometro);
}
},1000)
console.log('Fora do intervalo');
})
}
Ao rodar este código o console irá printar nesta ordem:
Inicio
Fora do intervalo
fim do intervalo
Ou seja, mesmo estando após o comando setInterval o console.log('Fora do intervalo') está sendo executado antes, o que caracteriza este comportamento?