所以我第一次写Javascript所以请耐心等待。我编写了这个函数,以便在我的Parse.com应用程序中查询一个类,然后在查询后我想将其中一个列(布尔类型)设置为true。
我设置了一个只有7个值的测试类来测试。
问题:7个中只有3个正在改变。每次保存后我都要等吗?我知道在Javascript中等待/休眠是“错误的”,但我似乎无法找到解决方案。
提前致谢!
此外,在使用iOS / Parse时,我想检查在Objective-C中是否未定义布尔值,我已经尝试将其与nil / NULL进行比较,抛出异常
Parse.Cloud.define("setYears", function(request, response) {
var object = new Parse.Query("testClass");
object.find({
success: function(results)
{
for (var i = 0; i < results.length; i++) {
results[i].set("testBool",true);// = true;
results[i].save(null,
{
success:function ()
{
response.success("Updated bool!");
},
error:function (error)
{
response.error("Failed to save bool. Error=" + error.message);
}
});
};
response.success();
}
})
});
答案 0 :(得分:3)
事实证明,如上所述,解决起来并不困难。只需使用saveAll而不是自己保存每个对象。如果有人需要,这是正确的解决方案:
Parse.Cloud.define("setYears", function(request, response) {
var object = new Parse.Query("testClass");
object.find({
success: function(results)
{
for (var i = 0; i < results.length; i++) {
results[i].set("testBool",true);// = true;
}
Parse.Object.saveAll(results,{
success: function(list) {
// All the objects were saved.
response.success("ok " ); //saveAll is now finished and we can properly exit with confidence :-)
},
error: function(error) {
// An error occurred while saving one of the objects.
response.error("failure on saving list ");
},
});
response.success();
}
})
});