FirebaseObjectObservableを購読してFirebaseデータベースからオブジェクトのプロパティの値を取得しました。このプロパティは複数の値を含むことができるので、値をローカル配列変数に格納しました。角2、配列を反復することができません
しかし、forEachを使用してこのローカル配列変数を反復処理することはできません。だから、私はconsole.logにこの配列変数を記録します。この変数はjson形式を持っているようですが、なぜ私は反復できないのでしょうか。この変数を繰り返し処理する方法を見つけるのを助けてください。
*コードとコンソール画像:
*編集*
私が反復するためにサブスクライブメソッド内のコードをシフト。
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);
});
});
}
});
}
質問に関連するコードを入力してください。また、「I」という単語が大文字になっている正しい国際的な英語を書いてください。最後に、あなたの学習曲線のどこにあるか、将来の答えにどのように感謝しているかについて、不必要な詳細を私たちに忘れないようにしてください。 –
[非同期呼び出しからの応答を返すにはどうすればよいですか?](https://stackoverflow.com/questions/14220321/how-do-i-return-the-response-from-an-asynchronous-call) –