我试图在用户注册到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();
}
});
答案 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