Table des matières
Quelle est l'utilisation de wait dans vue
Maison interface Web Voir.js A quoi sert wait dans vue ?

A quoi sert wait dans vue ?

Feb 15, 2022 pm 04:15 PM
vue

Dans vue, wait signifie attendre. Le mot-clé wait ne peut être placé que dans des fonctions asynchrones. L'utilisation de wait avec async équivaut à transformer une fonction asynchrone en wait attendra le résultat de retour de l'expression suivante. à l'étape suivante.

A quoi sert wait dans vue ?

L'environnement d'exploitation de cet article : système Windows 10, Vue version 2.9.6, ordinateur DELL G3.

Quelle est l'utilisation de wait dans vue

Parlons d'abord de l'utilisation de async. Il est placé devant la fonction comme mot-clé pour indiquer que la fonction est une fonction asynchrone, car async signifie asynchrone et asynchrone. La fonction signifie également que l'exécution de la fonction ne bloquera pas l'exécution du code suivant. Écrire une fonction asynchrone

async function timeout() {
  return 'hello world';
}
Copier après la connexion

 La syntaxe est très simple, il suffit d'ajouter le mot-clé async devant la fonction pour indiquer qu'elle est asynchrone, alors comment l'appeler ? La fonction async est aussi une fonction. Nous l'utilisons généralement comme nous utilisons la fonction. Il suffit de l'appeler directement avec des parenthèses. Afin de montrer qu'elle ne bloque pas l'exécution du code derrière elle, nous ajoutons la phrase

console.log;
async function timeout() {
    return 'hello world'
}
timeout();
console.log('虽然在后面,但是我先执行');
Copier après la connexion

après. l'appel de la fonction asynchrone. Ouvrez la console du navigateur, nous voyons

 le délai d'attente de la fonction asynchrone est appelé, mais il n'y a pas de sortie. Ne vous inquiétez pas, jetez un œil à ce que l'exécution de timeout() renvoie. ? Remplacez l'instruction timeout() ci-dessus par console.log(timeout())

async function timeout() {
    return 'hello world'
}
console.log(timeout());
console.log('虽然在后面,但是我先执行');
Copier après la connexion

Continuez à regarder la console

A quoi sert wait dans vue ?

Il s'avère que la fonction asynchrone renvoie un objet de promesse si nous voulons obtenir le retour de la promesse. valeur, nous devrions utiliser la méthode puis, continuer à modifier le code

async function timeout() {
    return 'hello world'
}
timeout().then(result => {
    console.log(result);
})
console.log('虽然在后面,但是我先执行');
Copier après la connexion

Regardez la console

A quoi sert wait dans vue ?

Nous avons eu "hello world", et l'exécution du timeout n'a pas bloqué l'exécution du code suivant, ce qui est cohérent avec ce que nous venons de dire.

À ce stade, vous remarquerez peut-être que la promesse dans la console est résolue. C'est le principe d'implémentation interne de la fonction asynchrone. Si la fonction asynchrone renvoie une valeur, lorsque la fonction est appelée, la méthode Promise.solve() sera appelée en interne pour la convertir en objet de promesse en retour, mais que se passe-t-il si une erreur est générée dans la fonction timeout ? Ensuite, Promise.reject() sera appelée pour renvoyer un objet de promesse. modifier la fonction timeout

async function timeout(flag) {
    if (flag) {
        return 'hello world'
    } else {
        throw 'my god, failure'
    }
}
console.log(timeout(true))  // 调用Promise.resolve() 返回promise 对象。
console.log(timeout(false)); // 调用Promise.reject() 返回promise 对象。
Copier après la connexion

 La console est la suivante :

A quoi sert wait dans vue ?

 Si la fonction lance Lorsqu'une erreur se produit, l'objet de promesse a une méthode catch pour l'attraper

timeout(false).catch(err => {
    console.log(err)
})
Copier après la connexion

 Le mot-clé async est presque là. le mot-clé wait signifie à nouveau attendre, alors qu'est-ce qu'il attend ? Qu'est-ce qui le suit ? Mettez n'importe quelle expression, mais nous sommes plus susceptibles de mettre une expression qui renvoie un objet promis. fonction asynchrone. Maintenant, écrivez une fonction pour renvoyer un objet de promesse. La fonction de cette fonction est 2s. Ensuite, multipliez la valeur par 2

// 2s 之后返回双倍的值
Copier après la connexion
function doubleAfter2seconds(num) {
    return new Promise((resolve, reject) => {
        setTimeout(() => {
            resolve(2 * num)
        }, 2000);
    } )
}
Copier après la connexion

Écrivez maintenant une fonction asynchrone pour pouvoir utiliser le mot-clé wait. une expression qui renvoie l'objet promis, vous pouvez donc écrire l'appel de la fonction doubleAfter2seconds après lui

async function testResult() {
    let result = await doubleAfter2seconds(30);
    console.log(result);
}
testResult();
Copier après la connexion

Open La console, après 2s, en sort 60.

Regardons maintenant le processus d'exécution du code et appelons la fonction testResult . Il rencontre wait. Attendre signifie attendre un moment, et le code sera mis en pause ici et ne sera plus exécuté. Qu'attendez-vous que l'objet de promesse suivant soit exécuté, puis obtenez la valeur de la résolution de la promesse et. Renvoyez-le.Après avoir obtenu la valeur de retour, il continue à s'exécuter vers le bas.Lorsqu'il rencontre wait, le code suspendra l'exécution, attendra que doubleAfter2seconds(30) termine l'exécution et la promesse renvoyée par doubleAfter2seconds(30) commencera à s'exécuter. Après 2 secondes, la promesse est résolue et renvoie une valeur de 60. À ce stade, wait obtient la valeur de retour de 60, puis l'attribue au résultat et fait une pause. À la fin, le code commence à continuer de s'exécuter et exécute la console. instruction de journal.

 Avec cette fonction, nous ne voyons peut-être pas le rôle de async/wait. Et si nous voulons calculer les valeurs de 3 nombres puis afficher les valeurs obtenues ?

async function testResult() {
    let first = await doubleAfter2seconds(30);
    let second = await doubleAfter2seconds(50);
    let third = await doubleAfter2seconds(30);
    console.log(first + second + third);
}
Copier après la connexion

Après 6 secondes, la console affiche 220. Nous pouvons voir qu'écrire du code asynchrone est comme écrire du code synchrone, et il n'y a plus de zone de rappel.

Remarque :

async et wait sont basés sur une promesse. Les fonctions utilisant async renverront toujours un objet de promesse. Il est important de se rappeler que cela peut être un endroit courant où vous commettez des erreurs.

Lors de l'utilisation de wait, nous mettons la fonction en pause, pas l'intégralité du code.

async et wait ne sont pas bloquants.

Vous pouvez toujours utiliser Promise telle que Promise.all().

【Recommandation associée : "

Tutoriel vue.js

"】

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Comment ajouter des fonctions aux boutons pour Vue Comment ajouter des fonctions aux boutons pour Vue Apr 08, 2025 am 08:51 AM

Vous pouvez ajouter une fonction au bouton VUE en liant le bouton dans le modèle HTML à une méthode. Définissez la logique de la fonction de méthode et d'écriture dans l'instance Vue.

Comment utiliser Bootstrap en Vue Comment utiliser Bootstrap en Vue Apr 07, 2025 pm 11:33 PM

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

Comment utiliser Watch in Vue Comment utiliser Watch in Vue Apr 07, 2025 pm 11:36 PM

L'option Watch dans Vue.js permet aux développeurs d'écouter des modifications de données spécifiques. Lorsque les données changent, regardez déclenche une fonction de rappel pour effectuer des vues de mise à jour ou d'autres tâches. Ses options de configuration incluent immédiatement, qui spécifie s'il faut exécuter un rappel immédiatement, et profond, ce qui spécifie s'il faut écouter récursivement les modifications des objets ou des tableaux.

Comment référencer le fichier JS avec Vue.js Comment référencer le fichier JS avec Vue.js Apr 07, 2025 pm 11:27 PM

Il existe trois façons de se référer aux fichiers JS dans Vue.js: spécifiez directement le chemin à l'aide du & lt; script & gt; étiqueter;; importation dynamique à l'aide du crochet de cycle de vie monté (); et l'importation via la bibliothèque de gestion de l'État Vuex.

Que signifie le développement de plusieurs pages Vue? Que signifie le développement de plusieurs pages Vue? Apr 07, 2025 pm 11:57 PM

Le développement multi-pages VUE est un moyen de créer des applications à l'aide du cadre Vue.js, où l'application est divisée en pages distinctes: Maintenance du code: La division de l'application en plusieurs pages peut rendre le code plus facile à gérer et à maintenir. Modularité: chaque page peut être utilisée comme module séparé pour une réutilisation et un remplacement faciles. Routage simple: la navigation entre les pages peut être gérée par une configuration de routage simple. Optimisation du référencement: chaque page a sa propre URL, ce qui aide le référencement.

Comment revenir à la page précédente par Vue Comment revenir à la page précédente par Vue Apr 07, 2025 pm 11:30 PM

Vue.js dispose de quatre méthodes pour revenir à la page précédente: $ router.go (-1) $ router.back () utilise & lt; router-link to = & quot; / & quot; Composant Window.History.back (), et la sélection de la méthode dépend de la scène.

Comment interroger la version de Vue Comment interroger la version de Vue Apr 07, 2025 pm 11:24 PM

Vous pouvez interroger la version Vue en utilisant Vue Devtools pour afficher l'onglet Vue dans la console du navigateur. Utilisez NPM pour exécuter la commande "NPM List -g Vue". Recherchez l'élément VUE dans l'objet "dépendances" du fichier package.json. Pour les projets Vue CLI, exécutez la commande "Vue --version". Vérifiez les informations de la version dans le & lt; script & gt; Tag dans le fichier html qui fait référence au fichier VUE.

Comment passer les paramètres pour la fonction Vue Comment passer les paramètres pour la fonction Vue Apr 08, 2025 am 07:36 AM

Il existe deux façons principales de transmettre des paramètres aux fonctions Vue.js: passer des données à l'aide de machines à sous ou lier une fonction avec Bind, et fournir des paramètres: passer des paramètres à l'aide de slots: passer des données dans des modèles de composants, accessibles dans les composants et utilisé comme paramètres de la fonction. PASS Paramètres à l'aide de Bind Binding: Bind Fonction dans l'instance Vue.js et fournissez des paramètres de fonction.

See all articles