函数异步执行,并传递传参

来源:互联网 发布:云科数据云一体机 编辑:程序博客网 时间:2024/05/16 16:58
<script src="resources/js/jquery/jquery.min.js"></script><script>    var person1=new Object();    person1.name="aa";    person1.age=20;    var person2=new Object();    person2.name="cc";    person2.age=40;    function name(){        var dtd = $.Deferred();        person1.name="bb";        var add=2;        dtd.resolve(add);        return dtd.promise();    }    function age(){        var dtd = $.Deferred();        person2.age=30;        dtd.resolve();        return dtd.promise();    }    function person(add){        console.log(person1,person2);        console.log(add);    }    $.when(name(),age())        .done(function(add){            person(add);        })        .fail(function(){ alert("出错啦!"); });</script>




同步读取两个或两个以上文件

//实现两个文件一起读取  var getCsv = function (csvUrl) {      var defer = $.Deferred();      d3.csv(csvUrl, function (error, rows) {          if (error) {              defer.reject(error);          }          defer.resolve(rows);      });      return defer.promise();  };  var getJson = function (jsonUrl) {      var defer = $.Deferred();      d3.json(jsonUrl, function (error, rows) {          if (error) {              defer.reject(error);          }          defer.resolve(rows);      });      return defer.promise();  };  $.when(      getCsv("data/info.csv"), // please pass csv url as you like      getJson("data/test.json")  // please pass csv url as you like  ).done(function (infodata,data) {      drawforce(data,infodata);            datemp=data      return datemp;      console.log("11",infodata)     // readInfo(infodata);  }).fail(function (err) {      console.log(err);  });  


多个Ajax 并行获取数据

今天又碰到了跟这个相关的问题,不一样的是执行的是ajax函数

参考如下:

 $.when($.ajax({            type: "post",            url: server_context + "/shopinfo?shopid=" + origin,            dataType: "json",            error: function () {                console.log("search erro");            },            success: function (shopInfo) {                console.log(" success");            }        }), $.ajax({            type: "post",            url: server_context + "/shopcompetition?shopid="+origin,            dataType: "json",            error: function () {                console.log("search erro");            },            success: function (competitors) {                console.log(" success");            }        }))            .done(function(data1,data2){                var shopInfo = data1[0];                var competitors =data2[0];               //这样才可以获取ajax获取的数据                ....            })            .fail(function(){ alert("出错啦!"); });


阅读全文
0 1
原创粉丝点击