afterSave成员Parse Cloud Code不保存

时间:2015-11-19 01:34:42

标签: javascript parse-platform cloud-code after-save

我试图在用户注册到Parse中的Runner类后保存用户名和userId。由于某种原因,信息没有保存,我没有收到错误。谁能提出一些建议?

Parse.Cloud.afterSave(Parse.User, function(request){
if(!request.object.existed()){
    var RunnerClass = Parse.Object.extend("Runner");
    var runner = new RunnerClass();
    runner.set("username", request.object.get("username"));
    runner.set("userId", request.object.id);

    runner.save();

    }

    });

2 个答案:

答案 0 :(得分:0)

您的afterSave定义不正确。 afterSave没有回应。仅在之前保存。

Parse.Cloud.afterSave(Parse.User, function(request) {
...

}

答案 1 :(得分:0)

您必须避免在request.object.existed()触发器中使用afterSave,因为它目前始终返回false。不幸的是,由于Parse Cloud中的一个已知错误尚未修复。相反,您必须使用错误报告讨论中提供的解决方法:https://developers.facebook.com/bugs/1675561372679121/

解决方法是在request.object.existed()中使用以下布尔值替换afterSave

var objectExisted = (request.object.get("createdAt").getTime() != request.object.get("updatedAt").getTime());

另外,请务必在代码中使用request.user代替request.object