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