私はAngular 2のhttp GETを試して、HackerNewsのトップ記事のリストを取得しています。その後、ネストされた観察可能な部分でそれぞれの詳細を取得します。Nested Observable in Angular 2
私は、ループして自分のHTMLにデータを表示しようとするとこのエラーが発生します。
が異なるサポートするオブジェクトの[オブジェクトのオブジェクト] '
を見つけることができません。また、私が推測していますことは、任意のポインタにこれを行うには良い方法でなければなりませんか?私はそれが巣観察可能なXHR呼び出しに良い習慣だとは思わない...しかし、私はそれについての専門家ではないし、あなたが得た理由を伝えることはできません
getTopPost() {
this.http.get('https://hacker-news.firebaseio.com/v0/topstories.json')
.map(res => res.json())
.subscribe(
data => {
data.map(function(postId){
let storyUrl = "https://hacker-news.firebaseio.com/v0/item/"+ postId +".json";
that.http.get(storyUrl)
.map(res => res.json())
.subscribe(data => that.hnData = data,
err => that.logError(err),
() => console.log(that.hnData));
});
},
err => this.logError(err);
);
}
HTML
<ion-item *ngFor="#item of hnData">
{{item.title}}
</ion-item>
が、なぜそれらを入れ子にすることをお勧めではないでしょうか?私は問題を抱えているので、私はそれを約束するようなものにしようとしている(最初の呼び出しを解決してから2番目のことをする)が、別のスコープにあるような未定義のパラメータがある。 – mautrok
私は観測可能なxhr呼び出しをネストするのは悪いとは本当に思いませんが、悪い点はサブスクリプションをネストすることです(他の観測可能なサブスクリプション内のオブザーバブルにサブスクライブする)ことです。あなたは 'flatMap'、' concatMap'、..のような演算子を使い、それを一度だけ購読する必要があります。 – bertrandg