The jQuery doco shows an example where two $.ajax calls are made under the control of a $.when([例]の見出しを下に表示)。細かいですが、私は何をしたいのは(私はコールの準備のために他のものを行う可能性があります)関数内のもの$.ajax
呼び出しを定義することですjQuery/.when - 引数を関数にパッケージ化しますか?
$.when($.ajax("/page1.php"), $.ajax("/page2.php"))
.then(myFunc, myFailure);
。
したがって、このような何か:
$.when(myAjaxCall1(), myAjaxCall2())
.then(goodFetches, badFetches);
私はこのように見えるの機能であることを試してみました:
var myAjaxCall1 = function()
{
return $.ajax('https://httpbin.org/get?Z=Y,X,W');
};
var myAjaxCall2 = function()
{
return $.ajax('https://httpbin.org/get?A=B,C,D');
};
私はそれぞれのためのgoodFetches
の引数として3つの要素の配列を入手できますかmyAjaxCall1
とmyAjaxCall2
ですが、$.ajax
コールを$.when
に直接入れると、これはドキュメントの上の例に示すように私が受け取るのと同じ情報ではありません。これは、関数でうまく動作します
$.when($.ajax("https://httpbin.org/get?Z=Y,X,W"),
$.ajax("https://httpbin.org/get?A=B,C,D"))
.then(goodFetches, badFetches);
私はあなたがそれを行うことができないと考え、$アヤックスに呼び出してからの応答を待っていますサーバーから応答が返される前に 'return'を呼び出している間は戻り値がありません。 –
@FadhlyPermata - '$ .ajax()'が返す関数と同じことを、関数から返すことができます。 – jfriend00
コールバックの名前を 'goodFetches、badFetches'とすると、' $ .when'の意味を正確に理解できないことが示唆されます。それはもっと ''すべてのグッド、anyBad ''のようなものです(そして、どんな約束と同じように、2人のうちの1人だけが呼ばれるでしょう)。 – Bergi