使用場景:方法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 });