Bom dia.
Fiz a formacao "Aprenda a programar em JS com foco no back-end", aprendi sobre funções assincronas, porém ainda fiquei com uma dúvida.
Na aula, criamos a função assincrona para se conectar ao BD. Pelo que entendi, sempre que uma funcao que pode demorar ou gerar erros, tipo conexoes com bds, aberturas de arquivos, etc, sao assincronas para nao "travar" a execucao do código.
Porém, no arquivo app.js, ao chamar essa funcao assincrona, ela é chamada utilizando await. Sei que se nao usar o await na chamada a funcao async sempre retorna uma promisse, correto? E ao utilizar o await na chamada da funcao assincrona estou dizendo ao JS para só continuar a execucao do codigo após ter o retorno da funcao (nao a promisse), afinal, preciso da conexao ao bd para seguir adiante, correto?
Minha dúvida é a seguinte: por que devo criar a funcao de conexao ao bd de forma assincrona (para resto do codigo continuar executando), se quando vou chamá-la utilizo o await para "travar o codigo" ate ter seu retorno?
Fiquei com essa duvida, talvez esteja pensando errado em algo.
Obrigado!