Compréhension approfondie de l'asynchronisation / attente d'ES7

Référence texte d'origine:

https://blog.csdn.net/sinat_17775997/article/details/60609498

Dans js, nous pouvons utiliser Promise pour faciliter les opérations asynchrones, mais parfois il y aura une relation entre deux opérations asynchrones, telles que la demande de données A une fois, puis la demande de données B après l'obtention des données.

Pour résoudre le problème ci-dessus, dans le passé, nous pouvons demander une nouvelle promesse dans la promesse alors demandant des données A. C'est tout à fait correct, mais le code n'a pas l'air très élégant, comme s'il revenait à l'enfer de rappel d'origine. es7 nous fournit async attendre pour résoudre le problème ci-dessus plus simplement. Regardez d'abord le code


 var test=async function () {
    await new Promise(function(resolve,reject){
        setTimeout(function(){
            console.log('111')
            resolve('111')
        },5000)
    }).then((data)=>console.log('task1 end'))
    await new Promise(function(resolve,reject){
       setTimeout(function(){
           console.log('222')
           resolve('222')
       },5000)
   }).then((data)=>console.log('task2 end'))


}
test()



La fonction de test dans le code est décorée avec async, indiquant qu'il s'agit d'une méthode asynchrone. Le mot-clé wait ne peut être utilisé que dans une méthode synchrone.

Le mot clé wait peut être utilisé pour attendre l'exécution d'un code asynchrone. En fait, il attend une résolution de promesse. La valeur de retour est la valeur de retour finale de la résolution de promesse après son traitement. Une fois que la fonction s'est exécutée pour attendre, la fonction attend que la fonction wait termine son exécution avant de continuer à s'exécuter vers le bas. Pendant la période d'attente, elle ne se bloque pas et d'autres fonctions peuvent être exécutées normalement.

Publié 21 articles originaux · louange gagné 2 · Vues 7283

Je suppose que tu aimes

Origine blog.csdn.net/qq_31261131/article/details/81170596
conseillé
Classement