Executando verificação de segurança...
1

cara, primeiro muito obrigado pelo post.
Me veio uma dúvida aqui.
você disse que uma função assíncrona sem await é uma função síncrona:

`async function HandleMyAge(age) {
return age;
}

HandleMyAge(22) // Promise`

O exemplo acima, do seu texto, retorna mesmo uma promise, ou no caso faltou declarar dessa forma:

`async function HandleMyAge(age) {
await _age = age
return _age
}

HandleMyAge(22) // Promise`

Valeu mesmo por compartilhar seu conhecimento por aqui!

Carregando publicação patrocinada...
3

Eu não sei se entendi bem a sua dúvida, mas irei explicar pelo o que eu acredito que seja.

Você mencionou sobre o fato de funções sem await serem executadas de forma sincrona, e mostrou um exemplo meu que não tem await, mas retorna uma promise.

Explicação: uma função assíncrona sempre vai embrulhar o retorno em uma promise. É importante enfatizar o "embrulhar". Embrulhar em uma promise, não é uma operação assíncrona, e sim síncrona. Então com ou sem await vai retornar uma promize pois o valor foi "embrulhado". Embrulhar é apenas pegar o valor de retorna e transformar aquele valor numa Promise.

A questão das funções sem await se comportar como funções regulares (síncrona) é apenas na execução. Então sem await, é como uma função regular, mas que embrulha numa Promise. O await é para garantir que todo o resto do escopo abaixo de onde esta o 'await', deva esperar. Isso é controlado pelo o Event Loop, que gerencia operações assíncronas concorrentemente.

Não sei se era sua dúvida, mas estou sempre a disposição no que precisar.

2

Cara, brigadão pela resposta!
entendi o ponto.

Mesmo não tendo o await, apesar da função se comportar como uma função síncrona, ainda assim será retornado uma promise.

Todo sucesso do mundo e mais um pouco pra você!