1
getValueListDataWithScol1(1029).done(function (kvalue) {
konto = kvalue;
getValueListDataWithScol1(1033).done(function (mvalue) {
mws = mvalue;
getValueListDataWithScol1(1101).done(function (wvalue) {
wirt = wvalue;
LoadStaticData();
LoadGridData();
});
});
});
以下のように関数を呼び出したいが、それは私が動的配列の値に応じて、それをやりたいハードコードされています。例えば、ここでは3つのレベルの配列に4つの要素があり、別のレベルを追加し、最後の呼び出しで2つの関数を呼び出す必要があります。私はそれを達成する方法を知らない。その理由は、私はロード関数とgetValueListDataWithScol1
の両方で呼び出される関数の値が必要です。基本的にはコールバック関数です
私はこのようにしようとしましたが、関数は非同期呼び出しを待っていませんでしたそれを待たせる方法。同期の呼び出しを変更することはできません。
function loaddata(ids) {
var d = new $.Deferred();
for (var key in ids) {
getValueListDataWithScol1(ids[key]).done(function (value) {
lists[ids[key]] = value;
});
delete ids[key];
loaddata(ids)
}
d.resolve(lists);
return d.promise();
}