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...