JavaScript Async/Await n'est pas qu'un sucre syntaxique !!!!

Dec 14 2022
Comprendre les rappels, les promesses et l'asynchronisme/attente est un élément crucial du travail avec JavaScript, car JavaScript est un langage de programmation à un seul thread. Il existe de nombreuses ressources d'apprentissage approfondies expliquant le fonctionnement des rappels JavaScript, des promesses et de l'asynchronisme/attente, n'hésitez pas à les étudier et à revenir ici.

Comprendre les rappels, les promesses et l'asynchronisme/attente est un élément crucial du travail avec JavaScript, car JavaScript est un langage de programmation à un seul thread.

Il existe de nombreuses ressources d'apprentissage approfondies expliquant le fonctionnement des rappels JavaScript, des promesses et de l'asynchronisme/attente , n'hésitez pas à les étudier et à revenir ici.

Mais ici, je montrerai comment Async/Await est identique aux promesses ou devrions-nous dire comment Async/Await sont des promesses !

Nous allons démontrer l'utilisation de l'API JavaScript Fetch car il s'agit d'une API basée sur Promise, le premier code serait écrit en utilisant Async/Await et l'autre écrit uniquement dans Promises sans les mots-clés Async/Await.

Pour cet exemple, nous nous connecterions au point de terminaison Agify.io qui prédit l'âge d'une personne en fonction de son nom, allons-y maintenant.

1) Tout d'abord, avec la convection Async/Await, nous avons simplement créé une fonction qui envoie le nom de la personne en tant que paramètre de chaîne de requête au point de terminaison de l'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

En conclusion, JavaScript Async/Await n'est pas seulement un sucre syntaxique, c'est des PROMESSES.