Ich versuche, die Daten, die gerade an Firebase geschoben wurde, so dass ich die $key
in einem anderen Push in einem Versuch verwenden kann, um die Daten zu normalisieren. Ich verwende angularfire 2 und ionischen 2Undefiniert dann in zurückgegebene Versprechen nach dem Push in angularfire
ich einen Provider haben, die ein Versprechen zurück:
pushData(fbPath: string, data): any {
return new Promise(resolve => {
resolve(this.af.database.list(fbPath).push(data));
});
});
}
Und in der Komponente Ich habe einen einfachen Aufruf, die aufgerufen wird, nachdem ein Benutzer ein Formular ausfüllt
this.api.pushData('organisations/', organisation).then(org => {
console.log(org);
});
jedoch im console.log
ich
Das ist kaum nutzbar. Alles, was ich in der Rückkehr will, ist die $key
, die derzeit bei org.path.o[1]
ist, die ich denke, ich kann verwenden, aber das scheint ein bisschen wackelig.
Neugierig, warum die then
und catch
nicht definiert sind. Was ich möchte, ist für die zurückgegebenen Daten wie so ein ordentliches Objekt sein
{
'$key':'-KfB5tltOeuXpQ_pRzR3',
'name':'My New Organisation',
'registeredDate':345345345345
}
Welche ziemlich einfach ist, wenn die Daten von Feuerbasis bekommen, mit einem einfachen
getData(fbPath: string) {
return new Promise(resolve => {
this.af.database.list(fbPath).subscribe(res => resolve(res));
});
}
In dem Angularfire2 docs heißt es dass die Sicherungsdaten (in .list
) eine Rückgabeversprechen auf die Push-Methode zurückgegeben haben. Ich kann es einfach nicht richtig funktionieren lassen.