javascript - 当我运行此 javascript 解析云代码时,只有部分解析对象更新(始终为 9,但不再更新)

标签 javascript android parse-platform

Parse.Cloud.define("getPicks", function(request,response){
var picks = new Parse.Query("Picks");
var num=0;
picks.find({
    success: function(results)
    {
        if ( results.length == 0 )
        {
            // No picks in databade
            response.success("No picks are live");
        }
        else
        {
            for(var i=0;i<results.length;i++){
                result=results[i];
                result.set("winningTeam",3);
                result.save();
                num++;
            }
            response.success("Found "+results.length+" pick objects!"+" num is "+num);
        }
    },
    error: function(error) {
        response.error("Query failed. Error = " + error.message);
    }
});
});

我正在尝试更新所有这些选择对象以将其获胜团队设置为“3”,我想对数据库中的每个对象执行一些操作(我将在理清此问题后执行此操作)然后设置“winingTeam”字段更改为 3。它工作正常,但出于某种原因,如果我说..数据库中的 20 个对象,当我运行此代码时,只有其中 9 个得到更新,如果我有 50 个对象,则 9 个得到更新,如果我有9或更少他们都会更新,有点困惑为什么。我是解析云和 javascript 的新手,所以我可能只是做了一些愚蠢的事情或者没有保存正确的 idk,但它找到了所有对象,但只更新了其中一些对象。

最佳答案

尝试等待所有 save() 调用返回,然后再调用 response.success():

// find your picks
picks.find()
// when it finishes
.then(function(results) {
  // build an array with a promise for each save call
  var savePromises = results.map(function(result) {
    return result.save({winningTeam: 3});
  });
  // and wait for all of them to finish
  return Parse.Promise.when(savePromises);
}).then(function() {
  // if everything went ok
  response.success();
}, function(err) {
  // if something bad happened
  response.error(err);
});

关于javascript - 当我运行此 javascript 解析云代码时,只有部分解析对象更新(始终为 9,但不再更新),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31732219/

相关文章:

ios - Parse.com 关系和 acl

javascript - 从 Javascript 中解析获取用户

javascript - 单击鼠标后如何复制/重复 HTML 元素?

android - xamarin android webview : video not playing on device

javascript - Range.ParentTable 给出 itemNotFound 异常

android - 单元测试处理程序

android - 如何管理点击不在 Android Google Map API 集群中的标记?

ios - Parse 中的查询指针 (ios)

javascript - jQuery 移动/Flot/resize.js

javascript - 如何将字符串日期时间范围转换为 JavaScript 日期对象?