利用jquery的$.Deferred方法在一個函數內獲取另一個函數的返回值


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM