2017-08-02 2 views
0

Ich möchte ein Feld in der "NotesDB" aktualisieren, die die Anzahl der Kommentare zu einer bestimmten Notiz angibt. Parsen Cloudcode sollte dies automatisch nach dem Speichern eines Kommentars tun.Parse CloudCode funktioniert manchmal nicht

In der Praxis tut es manchmal und es manchmal nicht (sogar mit dem gleichen Benutzer, auf der gleichen Note). Der Kommentar selbst wird immer korrekt gespeichert.

Gibt es eine Möglichkeit, diesen Code zu verbessern ..?

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 :("); 
      } 
     }); 

Antwort

1

Wie Sie Code steht, ist es nicht möglich, zu sehen, ob der post.save() Anruf oder nicht versagt (und wenn ja, warum), vielleicht versuchen Sie Ihr Versprechen Verkettungs:

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