2017-04-01 18 views
1

私はajaxサービスを呼び出し、オブジェクトのコレクションを取得しました。オブジェクト(A)プロパティは、グループ、受注、給与です。 [Employee, 1, 1500],[Management, 2, 2000], [Employee, 3, salary]が私のオブジェクトだとしましょう。 オブジェクトのプロパティに基づく配列と変数名の配列

私は、これらのオブジェクトは、フォーマット[OrderNo, String]を有することができ、また、AJAX呼び出しによって取得され、異なるオブジェクト(B)を保持することができるすべてのグループの配列を作成する必要があります。 グループの配列が既に作成されていた場合は、もう一度ajaxを呼び出す必要はありません。

問題オブジェクト(A)又は(B)の数であり、事前に知られており、私はそれらを通して(A)オブジェクト配列とリストを参照できるようにする必要がありません。私が正しく

for(var index in "Object A"){ 
if(groups.AlreadyContains("Object A[index]")){ 
    do nothing; 
} 
else { 
    var "Object A[index]" = MyAjaxCall("Object A[index]"); 
    groups.AddAnArray("Object A[index]"); 
    } 
} 

function MyAjaxCall(par){ call ajax and return collection of B objects;} 

foreach(var i in groups.Management) 
{Console.log(Management[i].PropertyName);} 

コンソール出力を記述する方法がわからない

var groups = [ 
    Employee: [[1372, "Free meals"],[947, "Lower salary"],[21, "Overtimes"],[74667,"Great Xmass party"]], 
    Management: [[11, "Responsibility"],[485,"Extra meetings"]] 
] 

擬似コードで

結果:責任、あなたは両方のオブジェクトを取得する必要がエキストラ会議

答えて

0

タイプAのオブジェクトとタイプBのオブジェクトを準備し、それらの上で計算を開始します。

これは、非同期機能の一般的なパターンです。あなたは

$.when(fetchObjectA, fetchObjectsB).done((objectsA, objectsB) => 
    // Do same as above 
) 
jQueryの

使用している場合は、ES6

Promise.all(fetchObjectA, fetchObjectsB).then((objectsA, objectsB) => 
    // Do things over both objectsA and B 
) 

を使用している場合

関連する問題