

問い合わせ内容をよりシンプルにさせて頂きました。  
関数：costGetは引数付きで動作する内容ですが、こちらの完了を検知して、その後の動作を達成したい場合、どういったこの関数の呼出し方を行えばよろしいのでしょうか？  
<https://qiita.com/opengl-8080/items/6eba7922be168edfc439>  
を参考にして、現在までに仕上げているコーディングは以下のとおりです。  
関数本筋の動作とあわせ、Defferedオブジェクトのresolve（reject）メソッドをキックするようなコーディングはどういう記述になるのでしょうか？  
適応能力がなく低レベルのことを問い合わせてしまい申し訳ありませんが、何卒よろしくお願い申し上げます。

[code]

    //品名ＣＤ枠の入力と数量枠が１以上の入力で原価を表示。
    if (cd != "" && $(this).val() != "") {
        $(".iabtn").prop("disabled", true);     //確認ボタン無効化
    
        var d = new $.Deferred();
    
        costGet(maker_val, $obj, text, label); 
    
        d.promise()
        .then(function() {
            $(".iabtn").prop("disabled", false);    //確認ボタン有効化
            return false;
        });
    }
    
    //原価情報の取得
    function costGet (cd, $obj, text, label) {
        $.ajax({
            url: "cdcostget.php",
            type: "POST",
            dataType: "json",
            data: {
                maker_no: cd,
                maker_no2 : costGetYM()
            }
        })
        .done(function(data){
            if (data.length <= 0) {
                //いろいろ
            } else {
                //いろいろ
            }
        })
        //サーバ接続エラー
        .fail(function(data){
                //いろいろ
        })
    
        return 【必要か否か、どういう記述が適策かわからない】;
    
    }
    
[/code]


CC BY-SA 3.0
2018-02-08T14:00:15.607
41589
2018-02-10T07:04:13.400
2018-02-10T07:04:13.400
25696
25696
question
jquery
Deferredで括った関数の完了を待ってある動作を達成したい。