jqueryの$を利用する.Deferredメソッドは、ある関数内で別の関数の戻り値を取得します.

1893 ワード

使用シーン:メソッドBは、メソッドAの実行が完了した後に実行する必要があります.たとえば、メソッドBでメソッドAに役立つ変数などです.(jQuery 1.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 
});

転載先:https://www.cnblogs.com/zhb7769/p/10882277.html