JSFiddle - React, Tailwind, and code Playground

JavaScript

var AJAX_DATA_ARRAY = [
    { html: 'response0', delay: 1.0 },
    { html: 'response1', delay: 0.2 },
    { html: 'response2', delay: 0.5 }
];

function getResultArrayPromise(ajaxDataArray) {
    return $.when.apply($, $.map(ajaxDataArray, function(ajaxData) {
        return $.ajax('/echo/html/', { type: 'post', data: ajaxData, dataType: 'text' });
    })).then(function() {
        return (ajaxDataArray.length > 1)
            ? $.map(arguments, function(a) { return a[0]; })
            : [arguments[0]];
    });
}

// Multiple ajax calls.
getResultArrayPromise(AJAX_DATA_ARRAY).done(function(resultArray) {
    console.log(resultArray);

    // Single ajax call.
    getResultArrayPromise([AJAX_DATA_ARRAY[0]]).done(function(resultArray) {
        console.log(resultArray);
    });
});