jQuery / javascript question, est un gestionnaire de clic exécuté de manière asynchrone?
-
19-09-2019 - |
Question
si j'ai
$("a#foo").click();
$("a#bar").click();
dostuff();
et les deux ont cliquez gestionnaires attachés qui font différentes things..is il garanti le gestionnaire de clic de cette barre n'exécutera après les foo de finalise? ou sont-ils envoyés asyncronously
similarly..will doStuff () exécute uniquement après foo et les gestionnaires de clic de bar complet?
La solution
Le modèle d'exécution Javascript dans le navigateur est un seul thread (en gros), donc il n'y a pas d'envoi asynchrone en cours partout en dehors des choses comme le HttpXmlRequest.
la fonction clic foo () retourne avant est appelé clic bar (), qui sera de retour avant doStuff () est appelée.
Autres conseils
Cela dépend de ce foo fait (vous pouvez mettre en place sur le plan technique foo pour déclencher des événements en utilisant setTimeout qui pourrait tirer après la méthode complète), mais oui bar devrait tirer après foo complète.