我想更新“NotesDB”中的一个字段,该字段指示特定注释的评论数。 Parse Cloudcode 应该在保存评论后自动执行此操作。
在实践中,有时会出现这种情况,有时则不会(即使对于同一用户,在相同的注释上也是如此)。评论本身始终会正确保存。
有什么方法可以改进这段代码..?
Parse.Cloud.afterSave("CommentsDB", function(request) {
var OriginalNote = request.object.get("OriginalPostId");
var query = new Parse.Query("NoteDB");
query.get(OriginalNote, {
success: function(post) {
post.increment("NumberOfComments");
post.save();
},
error: function(error) {
console.log("An error occured :(");
}
});
最佳答案
就您的代码而言,不可能查看 post.save()
调用是否失败(如果是,为什么),也许尝试链接您的 promise :
query.get(OriginalNote,{useMasterKey:true}).then (function (post) {
post.increment("NumberOfComments");
return post.save(null,{useMasterKey:true});
}).then (function (savedPost) {
console.log('post incremented ok to ' + savedPost.get('NumberOfComments'));
},function (err) {
//this function will catch any error in the promise chain : query.get() or post.save()
console.error('An error occured : ' + err.message);
});
关于javascript - 解析CloudCode有时不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45470036/