Deferred - Chain Multiple AJAX Calls - Pass Response to Multiple Chained Promises - NO DFD Wrapper FN - BIZAMAJIG USAGE #REFINED

by bizamajig

HTML

<ul id=msgOut></ul>

JavaScript

var bizamajig__set__workspace__element__update__dfd = function( request__context )
{
    console.log('bizamajig__set__workspace__element__update__dfd started ' + request__context.target_container);
    var bizamajig__dfd__return = $.Deferred();
    $.ajax({
        url: '/echo/json/',
        type: 'post',
        data: { json: request__context.target_container, delay: 2 }
    }).done( function( response ) {
        response = request__context.target_container + '-BBB';
        $( 'ul#msgOut' ).append( '<li>' + response + '</li>' );
        bizamajig__dfd__return.resolve( response );
    });
    return bizamajig__dfd__return.promise();
}
var loadSelectedColumns = function( response ) {
    console.log('loadSelectedColumns started', response);
    var bizamajig__dfd__return = $.Deferred();
    $.ajax({
        url: '/echo/json/',
        type: 'post',
        data: { json: response, delay: 2 }
    }).done( function( data ) {
        response = response + '-CCC';
        $( 'ul#msgOut' ).append( '<li>' + response + '</li>' );
        bizamajig__dfd__return.resolve( response );
    });
    return bizamajig__dfd__return.promise();
}
var render = function( response ) {
    console.log('render started', response);
    $.ajax({
        url: '/echo/json/',
        type: 'post',
        data: { json: response, delay: 2 }
    }).done( function( data ) {
        response = response + '-DDD';
        $( 'ul#msgOut' ).append( '<li>' + response + '</li>' );
        bizamajig__dfd__return.resolve( response );
    });
}
/*
bizamajig__set__workspace__element__update__dfd({
    target_container:         'AAA<br />'
}).pipe( loadSelectedColumns ).pipe( render );
*/
    $( 'ul#msgOut' ).append( '<li>' + 'AAA' + '</li>' );
    var bizamajig__dfd__call = bizamajig__set__workspace__element__update__dfd({
        target_container:         'AAA'
    });
    bizamajig__dfd__call = bizamajig__dfd__call.pipe( loadSelectedColumns );
/*
    bizamajig__dfd__call = bizamajig__dfd__call.then(...