$(document).ready(function() {
    var asyncTask = function(index) {
        console.log('开始执行任务: '+index);
        var exeTime = Math.ceil(Math.random()*10000);
        var result = exeTime%3;
        var dfd = $.Deferred();
        setTimeout(function() {
            if (result == 0) {
                dfd.resolve('任务' + index + '执行成功,执行时间:' + (exeTime/1000) , {message:'ok'}); // 状态 resolve
            } else if (result == 1) {
                dfd.reject('任务' + index + '执行失败,执行时间:' + (exeTime/1000)); // 状态 reject
            }else {
                dfd.notify('任务' + index + '执行警告,执行时间:' + (exeTime/1000)); // 状态 notify
            }
        }, exeTime); 
        return dfd; 
    }
    
    function resolve (result , obj) {
        console.info(result + obj.message);
    }
    function reject (result) {
        console.error(result);
    }
    function notify (result) {
        console.warn(result);
    }

    for (var i=1; i<=100; i++) {
        asyncTask(i).then(resolve, reject, notify); 
    }
});
  

异步处理回调规范(http://wiki.commonjs.org/wiki/Promises/A):任务状态:未完成(unfulfilled)、完成(fulfilled)、失败(failed);效果可以打开开发者工具查看