Created
June 7, 2011 07:19
-
-
Save Takazudo/1011816 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* jQuery deferred chain example | |
demo on jsfiddle: http://jsfiddle.net/Takazudo/ekbc4/ */ | |
var $ul = $('#dump'); | |
function dump(msg){ | |
$ul.append('<li>' + msg + '</li>'); | |
} | |
/* deferred functions */ | |
function do1(){ | |
var defer = $.Deferred(); | |
setTimeout(function(){ | |
dump('do1 done'); | |
defer.resolve(); | |
},500); | |
return defer.promise(); | |
} | |
function do2(){ | |
var defer = $.Deferred(); | |
setTimeout(function(){ | |
dump('do2 done'); | |
defer.resolve(); | |
},400); | |
return defer.promise(); | |
} | |
function do3(){ | |
var defer = $.Deferred(); | |
setTimeout(function(){ | |
dump('do3 done'); | |
defer.resolve(); | |
},300); | |
return defer.promise(); | |
} | |
function do4(){ | |
var defer = $.Deferred(); | |
setTimeout(function(){ | |
dump('do4 done'); | |
defer.resolve(); | |
},700); | |
return defer.promise(); | |
} | |
$('button').click(function(){ | |
console.log('go!'); | |
var defer = $.Deferred(); | |
defer.pipe(function(){ | |
return do1(); | |
}).pipe(function(){ | |
return do2(); | |
}).pipe(function(){ | |
return do3(); | |
}).done(function(){ | |
do4(); | |
}); | |
}); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment