Javascript se déroulera du haut en bas si ce que vous avez en ce que si la déclaration bloque. Si c'est le cas, vous pouvez juste placer le code juste en dessous de l'instruction if, en dehors d'un délai d'expiration et il fonctionnera normalement. Si c'est asynchrone, vous pouvez utiliser un rappel qui se déclenche lorsque la première fonction est terminée pour démarrer la deuxième fonction.
L'exemple fourni ci-dessous n'est pas vraiment une manière efficace de faire les choses, mais est plus utilisé pour illustrer de quoi je parle ci-dessus. Dans la fonction write()
, vous pouvez effectuer un appel AJAX ou attendre que l'utilisateur clique sur quelque chose ou quoi que ce soit. L'interprète continue à la ligne suivante quelle section qui va écrire tout de suite, et dans l'ordre de blocage.
JS
var write = function (v, cb) {
setTimeout(function() {
document.write(v);
cb && cb();
}, 1000);
}
if (true) {
write("I'm not blocking, blah<br/>", function() {
document.write("Running<br/>");
});
}
if (true) {
document.write("I'm blocking, blah<br/>");
}
document.write("Running<br/>");
Sortie
I'm blocking, blah
Running
I'm not blocking, blah
Running
http://jsfiddle.net/robert/vvmyk/
Je ne comprends pas le problème; pourquoi ne pouvez-vous pas simplement inclure "// AUTRES CHOSES APRES LA PREMIERE CHOSE" dans le bloc "if"? –
Besoin de plus d'exemple de code pour répondre à cette question. Est-ce que vous faites un appel AJAX dans le premier '' DO THINGS'? Si c'est le cas, vous utiliserez simplement un ['callback'] (http://api.jquery.com/jQuery.ajax/). – pixelbobby
if (direction! == "leftnav") { // FAIRE DES CHOSES // FAIRE D'AUTRES CHOSES APRÈS LA PREMIÈRE CHOSE } –