Edit in JSFiddle

var data = [];
for (var i = 0; i < 100; i++) {
    data.push(Math.ceil(Math.random() * 100));
}
displayArray(data);
$('#output').append('Lets start Sorting <br/>');
async.sortBy(data, processData, function (err, result) {
    if (err) {
        $('#output').append('OOPS! How is this possible?' + "<br/>");
    }
    $('#output').append('Processing Done <br/>');
    displayArray(result);
});

function processData(item, callback) {
    //here in real condition
    //based on the data you might fire an ajax request to get its final sort value
    //simulate a time taking task
    var json = $.parseJSON(item);
    $.ajax({
        dataType: "json",
        type: 'post',
        url: '/echo/json/',
        data: {
            delay: 1,
            json: json
        },
        success: function (data) {
            console.log(data);
            $('#output').append('.');
            callback(null, data);
        }
    });
}

function displayArray(to_display) {
    $('#output').append('Our Array<br/>');
    $('#output').append('====================<br/>');
    for (var i = 0; i < to_display.length; i++) {
        $('#output').append(to_display[i] + ",");
    }
    $('#output').append('<br/>' + '====================' + '<br/>');
}