【问题标题】:Javascript Parse SDK saving twiceJavascript Parse SDK 保存两次
【发布时间】:2014-09-24 16:34:45
【问题描述】:

我对 parse javascript SDK 中的这段代码有点困惑。

// Create the object.
var GameScore = Parse.Object.extend("GameScore");
var gameScore = new GameScore();

gameScore.set("score", 1337);
gameScore.set("playerName", "Sean Plott");
gameScore.set("cheatMode", false);
gameScore.set("skills", ["pwnage", "flying"]);

gameScore.save(null, {
  success: function(gameScore) {
    // Now let's update it with some new data. In this case, only cheatMode and score
    // will get sent to the cloud. playerName hasn't changed.
    gameScore.set("cheatMode", true);
    gameScore.set("score", 1338);
    gameScore.save();
  }
});

有人可以解释为什么它会节省两次吗? https://parse.com/docs/js_guide#objects-updating

[编辑] 为了清楚起见,我知道有两个调用 .save();

我想知道为什么这段直接来自 parse Javascript SDK 的代码会保存两次。有好处还是这是一个错误?我不确定..

【问题讨论】:

    标签: javascript object parse-platform save


    【解决方案1】:

    它保存两次的原因是在成功保存 gameScore 时,您再次调用 save。

    gameScore.save(null, {    //FIRST SAVE
        success: function(gameScore) {
            gameScore.set("cheatMode", true);
            gameScore.set("score", 1338);
            gameScore.save(); //SECOND SAVE
        }
    });
    

    保存成功后,您通常不应再次保存。

    在您提供的链接中,他们只是向您展示了您可以使用新数据更新 gameScore。通常,这不是save() 函数的实际用途。

    【讨论】:

    • 是的,我明白这一点。我的问题是为什么他们在解析 SDK 中这样做,为什么要保存两次?此代码直接来自他们的 SDK。
    • 更新了我的答案。这只是他们展示的一个例子。在大多数情况下不应该遵循的东西。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    • 1970-01-01
    • 2019-10-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多