對於讀取下面顯示的表格腳本,我試圖在參數中運行查詢,並嘗試將每個結果的值從不同的表格追加到結果中。但由於azure的異步特性,request.respond()總是在getInvites之前調用。這意味着結果永遠不會附帶邀請。在Azure中處理多個異步請求?
function read(query, user, request) {
request.execute({
success: function (results) {
for (var i = 0; i < results.length; i++) {
getInvites(results[i].id, function (invites) {
console.log("Assigning results.invites"); //runs second
results[i].invites = invites;
});
}
console.log("Request Responding"); //runs first
request.respond();
}
});
}
function getInvites(id, cb) {
var InvitesTable = tables.getTable("Invites").where({
"PlanID": id
}).select("UserID", "Attending");
InvitesTable.read({
success: function (results) {
if (cb) cb(results);
}
});
}
這是一個this的後續問題,因爲我不能在Azure中使用外部庫。那麼我該如何解決這個問題呢?
在這個框架中的任何自定義事件?或者你可以使用jQuery,或者有'.addEventListener()'方法可以從你的'getInvites'訪問一個對象。只要給我一個這些選項。 – kidwon
沒有,可悲。這裏是一個參考http://msdn.microsoft.com/en-us/library/windowsazure/jj554226.aspx – user972616