JavaScript Async/Await não é apenas um açúcar sintático!!!!

Dec 14 2022
Compreender Callbacks, Promises e Async/Await é uma parte crucial do trabalho com JavaScript, pois JavaScript é uma linguagem de programação de thread único. Existem muitos recursos de aprendizado detalhado explicando como os Callbacks, Promises e Async/Await do JavaScript funcionam, sinta-se à vontade para estudá-los e volte aqui.

Compreender Callbacks, Promises e Async/Await é uma parte crucial do trabalho com JavaScript, pois JavaScript é uma linguagem de programação de thread único.

Existem muitos recursos de aprendizado detalhado explicando como os Callbacks, Promises e Async/Await do JavaScript funcionam, sinta-se à vontade para estudá-los e volte aqui.

Mas aqui, mostrarei como Async/Await é idêntico a Promises ou devemos dizer como Async/Await são Promises!

Demonstraremos usando JavaScript Fetch API como é uma API baseada em Promise, o primeiro código seria escrito usando Async/Await e o outro escrito apenas em Promises sem as palavras-chave Async/Await.

Para este exemplo, estaríamos nos conectando ao terminal Agify.io, que prevê a idade de uma pessoa com base em seu nome. Agora vamos ao que interessa.

1) Primeiro, com o Async/Await conveccional, simplesmente criamos uma função que envia o nome da pessoa como um parâmetro de string de consulta para o endpoint da API

async function prediction(name){
    response = await fetch(`https://api.agify.io?name=${name}`)
    person_details= await response.json()
    age=person_details["age"]
    return `Your Age is ${age}`
}

prediction("aisosa").then(console.log) // Output: Your Age is 33

prediction = (name) => new Promise((resolve,reject)=>{
    fetch(`https://api.agify.io?name=${name}`).then((response)=>{
        response.json().then((person_details)=>{
            age=person_details["age"]
            resolve(`Your Age is ${age}`)
        })
    })
})
prediction("aisosa").then(console.log) // Output: Your Age is 33

Em conclusão, JavaScript Async/Await não é apenas um açúcar sintático, é PROMESSAS.