Ich habe ein FirebaseObjectObservable abonniert, um den Wert einer Eigenschaft eines Objekts aus meiner Firebase-Datenbank abzurufen. Diese Eigenschaft kann mehrere Werte enthalten, daher habe ich die Werte in einer lokalen Array-Variablen gespeichert.Angular 2, Ich kann das Array nicht durchlaufen
Aber ich bin nicht in der Lage, diese lokale Array-Variable mit forEach zu durchlaufen. Also ich console.log diese Array-Variable. Diese Variable scheint json-Format zu haben, deshalb kann ich nicht iterieren. Bitte helfen Sie mir einen Weg zu finden, diese Variable zu durchlaufen.
* Code und Konsole Bilder:
* Edit *
ich den Code innerhalb des abonnieren Methode verschoben iterieren.
getAttachments() {
this.assignment.subscribe(asnDetails => {
if (asnDetails.fileKey) {
this.fileKeys.push(asnDetails.fileKey);
this.fileKeys[0].forEach(asnFileKey => { // <---- shifted this forEach loop inside subscribe
this.asnFiles = this._getAsnService.getAssignmentFiles(asnFileKey);
this.asnFiles.subscribe(file => {
this.fileNames.push(file.name);
});
});
}
});
}
Bitte geben Sie den entsprechenden Code in die Frage ein. Bitte schreiben Sie auch korrektes internationales Englisch, in dem das Wort "I" großgeschrieben wird. Schließlich, bitte ersparen Sie uns unnötige Details darüber, wo Sie in Ihrer Lernkurve sind, oder wie dankbar Sie für zukünftige Antworten sind. –
Mögliches Duplikat von [Wie gebe ich die Antwort von einem asynchronen Anruf zurück?] (Https://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call) –