0
所以我讀了幾篇文章,如this和this如何做到這一點,但我解決了似乎適用於此內部LOB應用程序的其他東西。我在加載現有的「分配」之前異步加載數據庫依賴關係(即在加載部門,部門等之前試圖加載getAllocation(),getAssignedAssts()等),所以我只放了第二個$。當/完成調用內部的依賴關係的doneCallback。就像這樣:
// assume allocationID is defined as allocation id we want to get from db
$.when(getDept(), getDivisions(), GetAvailComments(), getTargets())
.done(function msg1, msg2, msg3, msg4) {
// initialize variables, knockout observables and observable arrays
$.when(getAllocation(allocationID), getAssignedAssts(allocationID), getAssignedTeachers(allocationID))
.done(function msg1, msg2, msg3) {
});
})
.fail(function jqXHR, textStatus, errorThrown) {
alert('Error getting Allocation: ' + jqXHR.status + ' ' + textStatus + ', ' + errorThrown + '<br />' + jqXHR.responseText);
});
假設getDept(),getDivisions()等存在,並返回一個Ajax的承諾是這樣的:
function getDept() {
var data = { plan_id: getParameterByName('plan_id') };
return $.ajax({
type: "POST",
url: "Plan_Edit.aspx/PlanDept",
data: JSON.stringify(data),
contentType: "application/json; charset=utf-8",
dataType: "json"
});
};
我的問題是,這是否是壞的,如果是這樣,是什麼是做到這一點的「正確」方式?
有人嗎?只要確保這個沒問題.. – sfors