Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

ASSINCRONO X SINCRONO

Então se eu tiver

console.log(funcaoAssincrona()); console.log(funcaoSincrona());

E a funcaoAssincrona() retorna 1 e a funcaoSincrona() retorna 2 então a exibição será:

2 1

Correto?

1 resposta
solução!

Não, pois o programa que está imprimindo a saída é sincrono, e o JavaScript é single threaded, então o console.log da func assincrona deve ser avaliado antes do console.log da func sincrona, ja que foi assim que você escreveu.

Fora que, se funcaoAssincrona for assíncrona mesmo, ela retornaria um objeto do tipo Promise que resolverá para o valor 1 -- e não o valor 1 em si. Logo,console.log(funcaoAssincrona())imprimiria algo como Promise { pending }

Se o console estivesse dentro das funções, aí sim a saída poderia ser 2 1