2

所以这是我第一次编写 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();

}
})
});
4

1 回答 1

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();

}


  })

});
于 2014-09-02T12:09:51.267 回答