对于读取下面显示的表格脚本,我试图在参数中运行查询,并尝试将每个结果的值从不同的表格追加到结果中。但由于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