2017-07-29 8 views
0

Ich habe Daten in einer Firebase-Datenbank, die ich derzeit von einer iOS-App beobachten. Ich möchte meine eigene observe Funktion mit Firebase Funktionen erstellen, die aus einer separaten Datenbank vor dem Zurückgeben der Daten zieht.Benutzerdefinierte Beobachter mit Cloud-Funktionen für Firebase

Gibt es eine Möglichkeit, meine eigene Version der Beobachtungsmethode der Firebase-API neu zu erstellen? Dies ist, was ich bisher

exports.onChildAdded = functions.https.onRequest((request, response) => { 

    var ref = firebase.database().ref("data"); 
    ref.on("child_added", function(snapshot) { 
     console.log(snapshot.key); 

     var allData; 
     allData.firebase = snapshot; 

     //pull from other database 
     allData.other = otherDatabaseData; 

     response.send(allData); 
    }); 
}) 

Antwort

1

das ist nicht wirklich eine Sache, die Sie mit Cloud-Funktionen für die Firebase tun können. HTTP-Funktionen sind erforderlich, um die Arbeit schnell zu beenden (Timeout standardmäßig eine Minute, max. 9 Minuten durch spezielle Konfiguration) und geben eine einzelne Antwort an den Client zurück. Sie können unter Verwendung von on() nicht dauerhaft auf eine bestimmte Position in der Datenbank warten. Sie können jedoch die Datenbank einmalig mit once() abfragen und etwas mit dem Ergebnis machen. Aber das ist natürlich nicht dasselbe wie "child_added" Zuhörer.

Dazu müssen Sie einen eigenen benutzerdefinierten Server ausführen, mit dem Sie lange laufende Prozesse unter Ihrer Kontrolle haben können.

+0

Das ist bedauerlich, ich denke, ich muss nur zwei Anfragen auf der Geräteseite machen. –

Verwandte Themen