2017-02-19 3 views
0

In meiner App Angular 2 muss ich eine Tabelle für Änderungen in Firebase hören. Ich verwende Angular2, Firebase und TypeScript. Ich habe einen Listener, aber er löst nicht aus, wenn ich die Datenbanktabelle ändere.Brauchen Sie eine Tabelle für Änderungen in Firebase zu hören

Ich brauche es immer auf den Hörer schlagen, wenn die Tabelle aktualisiert/geändert wird. Es scheint, als müsste ich meinen Zuhörer an einen globalen Ort bringen. Derzeit befindet sich mein Listener in einer Servicedatei.

Dies ist mein Versuch:

this.adminNotifications = new Firebase(_environment.firebaseUrl + "/adminNotifications"); 

taskSchedulerListner =(): Promise<any> => { 
    this.adminNotifications.on('value', function(snapshot: any) { 
     console.log("admin notification hit!"); 
    }); 
} 

Lassen Sie mich wissen, wenn Sie einen anderen Code sehen müssen. Momentan möchte ich nur, dass der Listener beim Ändern der Tabelle adminNotifications geändert wird. Mit anderen Worten möchte ich die console.log Methode im obigen Beispiel treffen.

Ich bekomme keine Konsolenfehler, es passiert nichts, wenn die Tabelle adminNotifications geändert wird.

Antwort

0

Ich hatte das gleiche Problem und kam zu der Erkenntnis, dass Sie Ihren Hörer nicht in ein Versprechen verpacken müssen, wenn Sie ihn zurückgeben. Passen Sie dazu Ihren Code an.

this.adminNotifications = new Firebase(_environment.firebaseUrl + "/adminNotifications"); 

taskSchedulerListner = this.adminNotifications.on('value', function(snapshot: any) { 
     console.log("admin notification hit!"); 
    }); 
Verwandte Themen