Maison  >  Article  >  interface Web  >  Quelles sont les fonctions de wait et async dans es6 ?

Quelles sont les fonctions de wait et async dans es6 ?

WBOY
WBOYoriginal
2022-05-06 17:25:002673parcourir

Les fonctions de wait et async dans es6 sont : 1. async est utilisé pour déclarer qu'une fonction est exécutée de manière asynchrone et renvoie un objet Promise ; 2. wait est utilisé pour attendre qu'une méthode asynchrone termine son exécution, car wait ne peut que être utilisé pour les fonctions asynchrones, il est donc utilisé pour attendre la valeur de retour d'une fonction asynchrone.

Quelles sont les fonctions de wait et async dans es6 ?

L'environnement d'exploitation de ce tutoriel : système Windows 10, ECMAScript version 6.0, ordinateur Dell G3.

Quelles sont les fonctions de wait et async dans es6 ?

async est utilisé pour déclarer qu'une fonction est asynchrone, tandis que wait est utilisé pour attendre qu'une méthode asynchrone termine son exécution.

await ne peut être placé que dans des fonctions asynchrones

await est suivi d'une fonction qui renvoie une nouvelle promesse et l'exécute.

Lorsque vous rencontrez wait, le code suivant sera bloqué et le code de synchronisation en dehors de l'async sera exécuté en premier

Si vous attendez une promesse, attendez que la promesse se termine, puis utilisez les paramètres de résolution comme opération. résultat de l’expression d’attente.

Si vous attendez une expression, après avoir exécuté le code de synchronisation en dehors de l'async, revenez et continuez l'exécution

async

La fonction async (y compris l'instruction de fonction, l'expression de fonction, l'expression Lambda) renverra un objet Promise.

Si vous renvoyez une variable directe dans une fonction, async encapsulera la variable directe dans un objet Promise via Promise.resolve().

Et si la fonction asynchrone n'a pas de valeur de retour ? Il est facile d'imaginer qu'il renvoie Promise.resolve(undefined).

Caractéristiques de Promise - pas d'attente, donc si vous exécutez une fonction asynchrone sans attente, elle s'exécutera immédiatement, renverra un objet Promise et ne bloquera jamais les instructions suivantes. Ce n'est pas différent d'une fonction normale qui renvoie un objet Promise.

await

De manière générale, on pense que wait attend la fin d'une fonction asynchrone. Cependant, selon la syntaxe, wait attend une expression et le résultat de l'évaluation de cette expression est un objet Promise ou une autre valeur (en d'autres termes, il n'y a pas de restrictions particulières).

Étant donné que la fonction asynchrone renvoie un objet Promise, wait peut être utilisé pour attendre la valeur de retour d'une fonction asynchrone, c'est-à-dire la résolution de la promesse (la valeur ici).

await n'est pas seulement utilisé pour attendre les objets Promise, il peut attendre le résultat de n'importe quelle expression. Par conséquent, wait peut en fait être suivi d'appels de fonction ordinaires ou de quantités directes.

Si ce qu'il attend n'est pas un objet Promise, le résultat de l'expression wait est ce qu'il attend.

Pourquoi utiliser wait

Afin que notre code asynchrone ressemble davantage à du code synchrone

S'il y a plusieurs promesses, comment obtenir le résultat une fois toutes les promesses terminées

Parce que Promise.all() renvoie également une promesse, donc si vous souhaitez utiliser wait pour obtenir les valeurs de plusieurs promesses, vous pouvez directement attendre Promise.all()

[Recommandations associées : tutoriel vidéo javascript, front-end web]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn