Olá, tudo bem? eu entendi o conceito de funções assincronas e também do setTimeout (que nao é dado nesse curso de agora, vou apenas citar um exemplo com ele), mas queria tirar uma dúvida que talvez seja desnecessária. Digamos que eu tenha uma função assincrona com um await dentro dela, certo? Depois de ter ela criada, eu vou chamar ela para executar. A minha dúvida é a seguinte: quando o código estiver na linha do await, ele vai parar a execução da função, até que tal operação seja concluida, certo? Porém, todo o restante do código, depois de chamar a função assincrona, vai ser executado normalmente, pois a função assincrona é executada, mas o restante do código continua sendo executado de forma sincrona, certo? Entretanto, queria saber de uma coisa, digamos que eu tenha um código IMENSO que demore MUITO tempo para ser executado. A função assincrona seria executada ao decorrer do código? ou apenas no FINAL do código? como ficaria a execução dela dessa forma? como ela lidaria com isso? Uma última coisa, queria saber como seria o comportamento por exemplo do setTimeout para isso, pois se eu por exemplo setar um timeOut de 1000 ms, isso só vai ser contabilizado depois do fim de TODO o código? como seria o comportamento dele?
(Um exemplo de código, caso tenha ficado confuso):
-
Grato!