0
votes

JavaScript Async et attendre

Je ne peux pas comprendre comment async et attendre fonctionne. Considérez le code ci-dessous:

    password
    username


2 commentaires

"Exécutez ce programme de manière synchrone" - alors n'utilisez pas settimeout o.o


async et attendre est le sucre syntaxique pour effectuer le travail avec prometteur s Votre script n'utilise pas de promesses, il n'y a donc pas de moyen async / attendre changerait quoi que ce soit pour vous.


3 Réponses :


1
votes

Vous pouvez penser à attendre code> comme "Désavouer" A prometteur code> . Pour le moment, votre code n'utilise pas un prometteur code> et donc attendre code> ne fonctionnera pas. Au lieu de cela, vous pouvez envelopper votre Settimeout code> dans une promesse et résoudre code> votre promesse une fois qu'il est complet. Ensuite, en utilisant attendre code>, vous pouvez obtenir la valeur résolue à partir du code> code> (une fois qu'elle a été résolue (donc 100m / s)) et de le connecter à la console. async code> Les fonctions renvoient également toujours une promesse code> code>. Ainsi, vous pouvez utiliser la méthode .Chen code> sur l'appel de votre fonction pour déclencher un "rappel" une fois que votre fonction getansername code> est terminée: p>

p >

const getUsername = async _ => await new Promise(resolve => setTimeout(_ => resolve("username"), 100));

const getUsernameAndPassword = async _ => {
  const username = await getUsername();
  console.log(username);
  console.log("password");
}

getUsernameAndPassword();


0 commentaires

0
votes

Tout d'abord, vous ne pouvez pas simplement attendre la sécurité car il ne renvoie pas la promesse, vous pouvez essayer de transformer le contenu de cette fonction en un si vous souhaitez attendre que c'est l'exécution

getUsername().then(()=>console.log("password"));


0 commentaires

0
votes

La déclaration de fonction ASYNC définit une fonction asynchrone, qui renvoie un objet asynchronisé.

Une fonction asynchrone est une fonction qui fonctionne de manière asynchrone via la boucle d'événement,

en utilisant une promesse implicite de renvoyer son résultat. Mais la syntaxe et la structure de votre code

à l'aide des fonctions ASYNC sont beaucoup plus comme à l'aide de fonctions synchrones standard. xxx

référence 1 : https://developer.mozilla.org/en- US / DOCS / Web / JavaScript / Référence / Déclarations / Async_function

Référence2 : https://medium.com/siliconwat/how-javascript-Async- Await-Works-3CAB4B7D21DA


0 commentaires