我正在使用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'?异步问题很容易解决,但我没有得到整个代码... –