ridiculousTimeConsumingFunction(); newFunction(); Exécutera
newFunction()
après
ridiculousTimeConsumingFunction()
est terminée.
Vous pouvez aussi faire quelque chose comme ridiculousTimeConsumingFunction(newFunction);
, et ont ridiculousTimeConsumingFunction défini comme suit:
function ridiculousTimeConsumingFunction(callback) {
for (var i=0;i<1000000000;i++) {
};
callback();
}
qui aurait le même effet.
Enfait, ferraille tout cela, parce que c'est un événement asynchrone, pas un temps fonction ... la consommation Vous devez utiliser un rappel:
function longFunction (callback) {
setTimeout(function(){
$(".theDiv").css('height', 200);
callback();
}, 1000);
}
Ensuite, appelez comme suit:
longFunction(function() {
$("#info").html(info);
});
duplication possible de http://stackoverflow.com/questions/1859185/how-to-force-sequential-javascript-execution – outis