Ich habe eine Chat-Anwendung, in der Nachrichten in einer Firebase-Sammlung gespeichert werden.Endlosschleife mit Firebase.on ('child_added')
Es ist ein Browser-Client, der für die ‚child_added‘ Ereignis auf der Sammlung hört:
const chatRef = new Firebase()
chatRef.on('child_added', function(snapshot) { //... })
Ich habe auch einen Server-Client, der für das gleiche Ereignis auf der gleichen Kollektion hört. Wenn der Server-Client sieht, dass eine Nachricht zu der Sammlung hinzugefügt wurde, um ein Rückruf Feuer die Nachricht zu verarbeiten, und drücken Sie die Sammlung eine neue Nachricht in:
const chatRef = new Firebase()
chatRef.on('child_added', function(snapshot) {
const outgoingMessage = processIncomingMessage(snapshot.val())
chatRef.push(outgoingMessage)
})
Dies führt zu einer Endlosschleife, da der Server nun versuchen wird, um Nachrichten zu verarbeiten, die der Sammlung in Firebase hinzugefügt wurden.
Gibt es eine Möglichkeit, dies zu vermeiden? Ich denke, ich muss meine Daten in Firebase restrukturieren, aber ich bin mir nicht sicher, wie das aussehen soll.