使用场景:方法B需要方法A执行完成之后再执行,比如方法B中有用到方法A的变量;(需要引入jQuery1.5以后的版本)
function A(){ var deffered = new $.Deferred();//① $.ajax({ url:"/mktgPlan/getCfgCpmpComponent", cache: false, dataType:'json', type : 'post', success:function(data){ deffered.resolve (data);//② } }) return deffered;//③ } function B(){ var def = A();//④ def.then(function(data){//⑤ data就是②返回的值 console.log(data) }); }
此方法也一并解决了需要同步请求的需求
$.ajaxSetup({
async : false });