我正在使用Azure移動服務,並且正在運行一個javascript後端。但是,由於後端在node.js中,所有內容都是異步執行的,我不知道如何中止函數的執行。Azure Javascript - 等待功能竣工
我想刪除一個俱樂部,如果有尚未過去的24小時內提出意見,這是我的代碼:
var clubs = tables.getTable('Club');
clubs.read(
{
success: function(club){
var now = new Date().getTime();
for(var i=0;i<club.length;i++){
var deleteClub = true;
comments.where({ClubId: club[i].id}).read(
{
success:function(comment){
var timeDiff = (now-comment[i].Time.getTime())/(1000*60*60);
console.log("Comment in table: "+timeDiff);
if(timeDiff<24){
deleteClub=false;
}
}
}
);
if(deleteClub){
console.log("deleting club: "+club[i].Title);
//clubs.del(club[i]);
}else{
console.log("saving club: "+club[i].Title);
}
}
}
}
);
if語句執行之前刪除俱樂部變量更新,所以它總是如此,但我需要延遲if語句的執行,直到所有的註釋都被循環遍歷。
什麼你不能把你的''deleteClub'回調success'裏面? – Rayon
成功回調發生每個評論被檢索,我需要檢查通過所有的意見之前調用刪除功能。 – Oblivionkey3
我很困惑:它有一個'長度'並且你指向它的'俱樂部'是什麼?你如何使用'club'使用的索引,並用它來索引到'comment'?異步問題很容易解決,但我沒有得到整個代碼... –