async function executa() {
    try{
        const fase1 = await conectarBD('Fase 1', rand(0, 3)); //código é pausado, até que o valor seja resolvido ou rejietado pela promise
        console.log(fase1);
        const fase2 = await conectarBD('Fase 2', rand(0, 3));
        console.log(fase2);
        // const num = await conectarBD(123, rand(0, 3)); //executa até achar o erro, depois vai para o catch
        // console.log(num);
        const fase3 = await conectarBD('Fase 3', rand(0, 3));
        console.log(fase3);
        const fase4 = conectarBD('Fase 4', rand(0, 3));
        console.log(fase4);// promise pendente, e já estamos chamando o valor dela . NÃO esperamos a execução da função com then/await
        setTimeout(() => {
            console.log('Esta Promise estava pendente:', fase4); //pegando o valor da promise resolvida/rejeitada depois
        }, 4000);
    }catch(error){
        console.log(error)
    }

   
}
//Await -> espera uma promise ser finalizada
> espera uma promise ser finalizada
> espera uma promise ser finalizada
async function executa() {
    try{
        const fase1 = await conectarBD('Fase 1', rand(0, 3)); 
        console.log(fase1);
        const fase2 = await conectarBD('Fase 2', rand(0, 3));
        console.log(fase2);
        const fase3 = await conectarBD('Fase 3', rand(0, 3));
        console.log(fase3);
        const fase4 = conectarBD('Fase 4', rand(0, 3));
        console.log(fase4);
        setTimeout(() => {
            console.log('Esta Promise estava pendente:', fase4); 
        }, 4000);
    }catch(error){
        console.log(error)
    }
}
async function executa ( ) { try { const fase1 = await conectarBD ( 'Fase 1' , rand ( 0 , 3 ) ) ; console . log ( fase1 ) ; const fase2 = await conectarBD ( 'Fase 2' , rand ( 0 , 3 ) ) ; console . log ( fase2 ) ; const fase3 = await conectarBD ( 'Fase 3' , rand ( 0 , 3 ) ) ; console . log ( fase3 ) ; const fase4 = conectarBD ( 'Fase 4' , rand ( 0 , 3 ) ) ; console . log ( fase4 ) ; setTimeout ( ( ) => { console . log ( 'Esta Promise estava pendente:' , fase4 ) ; } , 4000 ) ; } catch ( error ) { console . log ( error ) } }
Await -> espera uma promise ser finalizada
Await - > espera uma promise ser finalizada
//código é pausado, até que o valor seja resolvido ou rejietado pela promise // const num = await conectarBD(123, rand(0, 3)); //executa até achar o erro, depois vai para o catch // console.log(num); // promise pendente, e já estamos chamando o valor dela . NÃO esperamos a execução da função com then/await //pegando o valor da promise resolvida/rejeitada depois