Jquery中Deferred实现函数数组并发

来源:互联网 发布:淘宝小助手怎么设置 编辑:程序博客网 时间:2024/04/30 05:00
//定义一个数组,用于装需要并发的函数var apisPost = [];//往里面装异步的函数apisPost.push(function () {    var dtd = $.Deferred();    //封装的ajax请求    api.apiFn('url', {}, function (d) {        //ajax请求成功resolve        dtd.resolve();    });    //返回promise状态    return dtd.promise();});//装第二个函数apisPost.push(function () {    var dtd = $.Deferred();    api.apiFn('url', {}, function (d) {        dtd.resolve();    });    return dtd.promise();});//并发请求//使用apply实现遍历数组中函数,配合map得到每个promise并返回$.when.apply(null, apisPost.map(function (v) {    return v();})).done(function (data) {    //所有并发都成功}).fail(function (error) {    //并发没有全部成功})
原创粉丝点击