【发布时间】:2014-07-11 00:47:45
【问题描述】:
在这段代码中,我试图使用他唯一的用户名来获取该方法的调用者的对象。如果对象存在-> 更新它,或者不存在-> 创建一个。 但是:我的布尔值“找到”永远不会改变。尽管如此,它必须在我的查询之后进行更改。因此,我的 if 语句从未使用过,因此没有创建对象。 有谁知道为什么?
据我所知,从函数内更改全局值是可以的。
Parse.Cloud.define("updateUserGeneral", function(request, response){
var UserGeneralObject = Parse.Object.extend("userGeneral");
var userGeneralNew = new UserGeneralObject();
var found = false;
var username = request.params.username;
var private_name = request.params.private_name;
var intentions = request.params.intentions;
var gender = request.params.gender;
var looking_gender = request.params.lookinggender;
var age = request.params.age;
var min_age = request.params.min_age;
var max_age = request.params.max_age;
var radius = request.params.radius;
var applyradius = request.params.applyradius;
var query2 = new Parse.Query("userGeneral");
query2.equalTo("username", username);
query2.first({
success: function(userGeneral){
if(userGeneral!=null){
found = true;
userGeneral.set("private_name", private_name);
userGeneral.set("intentions", intentions);
userGeneral.set("gender", gender);
userGeneral.set("lookinggender", looking_gender);
userGeneral.set("age", age);
userGeneral.set("max_age", max_age);
userGeneral.set("min_age", min_age);
userGeneral.set("radius", radius);
userGeneral.set("applyradius", applyradius );
userGeneral.save();
response.success("Succesfully saved userGeneral");
}else{
found = false;
}
},
error: function(error){
found = false;
}
});
if(found == false){
userGeneralNew.set("username", username);
userGeneralNew.set("private_name", private_name);
userGeneralNew.set("intentions", intentions);
userGeneralNew.set("gender", gender);
userGeneralNew.set("lookinggender", looking_gender);
userGeneralNew.set("age", age);
userGeneralNew.set("max_age", max_age);
userGeneralNew.set("min_age", min_age);
userGeneralNew.set("applyradius", applyradius);
userGeneralNew.set("radius", radius);
userGeneralNew.set("lookingForChat", 0);
userGeneralNew.set("lookingForInvitation", 1);
userGeneralNew.set("userHasChat", 0);
userGeneralNew.save(null, {
success: function () {
console.log("Save ok");
response.success("Succesfully saved userGeneral New");
},
error: function (error) {
console.log("Save failed");
response.error("Failed saving userGeneral New");
}
});
}
});
【问题讨论】:
-
query2.first是异步的吗? -
你的意思是它是否在一个新线程中?我猜是的。如果是这样:我如何访问标准变量?
标签: javascript function boolean parse-platform