jQuery / javascript domanda, è un gestore di clic eseguita in modo asincrono?
-
19-09-2019 - |
Domanda
se ho
$("a#foo").click();
$("a#bar").click();
dostuff();
ed entrambi hanno cliccare gestori associati che fanno diversi things..is ha garantito gestore di clic di quel bar eseguirà solo dopo il completamento di foo? o sono spediti asyncronously
similarly..will DoStuff () eseguire solo dopo foo e fare clic su gestori del bar completo?
Soluzione
Il modello di esecuzione javascript nel browser è a thread singolo (in generale), quindi non c'è la spedizione asincrona in corso ovunque al di fuori cose come il HttpXmlRequest.
Quindi, la funzione foo click () restituirà prima barra di scatto () viene chiamato, che tornerà prima doStuff () è chiamato.
Altri suggerimenti
Dipende da quello che fa foo (Si potrebbe tecnicamente configurare foo per generare gli eventi utilizzando setTimeout che poteva sparare dopo il metodo completa), ma sì barra dovrebbe sparare dopo foo completa.