JSFiddle - React, Tailwind, and code Playground
JavaScript
(function( $ ) {
function asArray() {
return Array.prototype.slice.call( arguments, 0 );
}
$.whenLikeIWantIt = function() {
var args = Array.prototype.slice.call( arguments, 0 ),
i = 0,
length = args.length;
for ( ; i < length; i++ ) {
args[ i ] = $.when( args[ i ] ).pipe( asArray );
}
return $.when.apply( $, args );
};
})( jQuery );
var defer = $.Deferred().resolve(),
undefinedDefer = $.Deferred().resolve( undefined ),
multipleDefer = $.Deferred().resolve( 1, 2, 3 );
$.when(
defer,
undefinedDefer,
multipleDefer
).done(function( a, b, c ) {
console.log( "Default $.when" );
console.log( a, b, c );
});
$.whenLikeIWantIt(
defer,
undefinedDefer,
multipleDefer
).done(function( a, b, c ) {
console.log( "Arrays everywhere" );
console.log( a, b, c );
});