我正在創建一個iOS應用程序,並且我正在爲我的後端使用Parse。 該應用程序實質上使人們能夠挑戰朋友睡眠超過x小時。未在解析CloudCode中運行的嵌套查詢
我正在寫我的處理函數(「betWinner3」),它應該計算下注/挑戰的勝者。詳細信息如下: 我正在查詢基於objectId的投注,我在比較「betTime」和「hoursSlept」。從此查詢中,我還在「better」下記錄用戶名,在「sleeper」下記錄用戶名。如果 - else語句計算三種可能的情況。在每個條件/場景下,我向「用戶」類別提出兩個其他查詢,以更新「更好」和「睡眠者」的分數。
當我運行代碼時,我的函數成功運行,它得到了if-else語句,但它不會等待我的兩個其他查詢來吐出它們的結果。
任何幫助解決這個問題,將不勝感激。我新接觸Javascript和解析。由於
代碼:
Parse.Cloud.define("betWinner3", function(request,response){
var objectId=request.params.objectId;
var query=new Parse.Query("betClass");
query.equalTo("objectId",objectId);
query.first({
success:function(bet){
var better=bet.get("better");
var sleeper=bet.get("sleeper");
console.log('start!!!');
if (parseInt(bet.get("betTime")) < parseInt(bet.get("hoursSlept"))){
console.log('sleeper wins');
var queryUser= new Parse.Query(Parse.User);
queryUser.equalTo("username",better);
queryUser.first({
sucess:function(user){
var userPoints=parseInt(user.get("points"));
userPoints ++;
userBetPoints=userPoints.toString();
user.set("points",userBetPoints);
console.log("111111111111");
user.save();
response.success("Success Message");
},
error:function(error){
response.error("Error Message");
}
});
console.log('sle');
var queryUser= new Parse.Query(Parse.User);
queryUser.equalTo("username",sleeper);
queryUser.first({
sucess:function(user){
var userPoints=parseInt(user.get("points"));
userPoints ++;
userBetPoints=userPoints.toString();
user.set("points",userBetPoints);
console.log("22222222222");
user.save();
response.success("Success Message");
},
error:function(error){
response.error("Error Message");
}
});
}
else if (parseInt(bet.get("betTime")) === parseInt(bet.get("hoursSlept"))){
console.log('tiessssss');
var queryUser= new Parse.Query(Parse.User);
queryUser.equalTo("username",better);
queryUser.first({
sucess:function(user){
var userPoints=parseInt(user.get("points"));
userPoints ++;
userBetPoints=userPoints.toString();
user.set("points",userBetPoints);
console.log("333333333333");
user.save();
response.success("Success Message");
},
error:function(error){
response.error("Error Message");
}
});
console.log("lol");
var queryUser= new Parse.Query(Parse.User);
queryUser.equalTo("username",sleeper);
queryUser.first({
sucess:function(user){
var userPoints=parseInt(user.get("points"));
userPoints +=0;
userBetPoints=userPoints.toString();
user.set("points",userBetPoints);
console.log("4444444");
user.save();
response.success("Success Message");
},
error:function(error){
response.error("Error Message");
}
});
}
else {
console.log("better wins");
var queryUser= new Parse.Query(Parse.User);
queryUser.equalTo("username",better);
console.log("You are in");
queryUser.first({
sucess:function(user){
var userPoints=parseInt(user.get("points"));
userPoints +=2;
userBetPoints=userPoints.toString();
user.set("points",userBetPoints);
console.log("55555555");
user.save();
console.log("aaaaaaa");
response.success("Success Message");
},
error:function(error){
response.error("Error Message");
}
});
var u=0;
for(i=0; i<1000000;i++){
u=i;
}
console.log("lmfao");
var queryUser= new Parse.Query(Parse.User);
queryUser.equalTo("username",sleeper);
queryUser.first({
sucess:function(user){
var userPoints=parseInt(user.get("points"));
userPoints --;
userBetPoints=userPoints.toString();
user.set("points",userBetPoints);
console.log("6666666");
user.save();
console.log("bbbbbbbb");
response.success("Success Message");
},
error:function(error){
response.error("Error Message");
}
});
}
console.log("wiiiiiiiiiiiiiii");
response.success("Success Message %%%%%%%");
},
error:function(error){
response.error("Error Message");
}
});
});