0

在用户注册到 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();

    }

    });
4

2 回答 2

0

您的 afterSave 定义不正确。afterSave 没有响应。仅在 beforeSave 上。

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

}
于 2015-11-19T10:35:48.757 回答
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

于 2015-11-19T19:36:51.357 回答