2017-08-02 20 views
0

特定のノートのコメント数を示す 'NotesDB'のフィールドを更新します。コメントを保存した後、自動的に解析する必要があります。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 :("); 
      } 
     }); 

答えて

1

あなたは、コード現状では、それはpost.save()呼び出しが失敗しないか(とそれがある場合は、その理由)されるかどうかを確認することはできません、多分あなたの約束を連鎖してみてください。

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); 
});