Deferred - Chain Multiple AJAX Calls - Pass Response to Multiple Chained Promises - USING DFD Wrapper FN - BIZAMAJIG USAGE #BEST
http://stackoverflow.com/questions/12272032/why-does-when-pipe-then-work-but-not-when-then-then
by bizamajig
HTML
<ul id=msgOut></ul>
JavaScript
var bizamajig__ajax__wrapper = function( input__anonymous_function__as_callback ) {
setTimeout( function(){
input__anonymous_function__as_callback( 'xxx' );
}, 5000 );
// my_function( 'xxx' );
}
var bizamajig__set__workspace__element__update__dfd = function( request__context ) {
var bizamajig__dfd__return = $.Deferred();
$( '<li>' + 'A. CALL WRAPPER FOR: ' + request__context.target_container + '</li>' ).appendTo( '#msgOut' );
bizamajig__ajax__wrapper( function( response ) { // input__anonymous_function_as_callback( param );
$( '<li>' + request__context.target_container + request__context.target_html + response + '<br /><br /></li>' ).appendTo( '#msgOut' );
bizamajig__dfd__return.resolve();
});
return bizamajig__dfd__return.promise();
}
var setDocSection2 = function( request__context ) {
var bizamajig__dfd__return = $.Deferred();
$( '<li>' + 'B. CALL WRAPPER FOR: ' + request__context.target_container + '</li>' ).appendTo( '#msgOut' );
bizamajig__ajax__wrapper( function( response ) { // input__anonymous_function_as_callback( param );
$( '<li>' + request__context.target_container + request__context.target_html + response + '<br /><br /></li>' ).appendTo( '#msgOut' );
bizamajig__dfd__return.resolve();
});
return bizamajig__dfd__return.promise();
}
var bizamajig__dfd__wrapper__bizamajig__set__workspace__element__update__dfd = function( request__context ) { // Passing an object as parameter, request__context
return function() {
return bizamajig__set__workspace__element__update__dfd( request__context ); // Call fn with passed object parameter
}
};
var bizamajig__dfd__wrapper__setDocSection2 = function( request__context ) { // Passing an object as parameter, request__context
return function() {
return setDocSection2( request__context ); // Call fn with passed object parameter
}
};
// Setup our list of ajax calls.
var...