Reputation:
How to execute functions synchronously one after the another
function test1(){
setTimeout(function(){console.log("should print 1st");},1000);
}
function test(){
test1();
console.log("should print 2nd");
}
function aftertest(){
var dfd = $.Deferred();
dfd.done(test()).done(tester());
//dfd.done(test,tester);
//$.when(test()).then(tester());
console.log("should print 4th");
}
function tester(){
console.log("should print 3rd");
}
aftertest();
Here is BIN of what I have tried so far.
Upvotes: 0
Views: 43
Reputation: 832
Use .then :
function test1(){
var defer = $.Deferred();
setTimeout(function(){console.log("should print 1st");defer.resolve();},1000);
return defer;
}
function test(){
var defer = $.Deferred();
test1().then(function() {
console.log("should print 2nd");
defer.resolve();
});
return defer;
}
function aftertest(){
var dfd = $.Deferred();
test().then(tester).then(function () {
console.log("should print 4th");
});
//dfd.done(test,tester);
//$.when(test()).then(tester());
}
function tester(){
console.log("should print 3rd");
return $.when();
}
aftertest();
Upvotes: 3