2017-02-24 6 views
0

私は、サーバーが配列ではなくオブジェクトマップを返すシナリオを持っています。 * ngForでデータを表示する必要があります。角2:ngForマップで、パイプまたはrxを使用しますか?

これは、oneなどの優れたスレッドをパイプを使用しているように見せています。私はまた、パイプはデフォルトで純粋で、プリミティブやリファレンスへの変更があっても、それでもなお私に関係するパフォーマンスのために呼び出されることを読んでいます。

どちらの方がパフォーマンスが良いですか?角パイプを使用するか、データをテンプレートに送信する前にrxjsストリームレベルでデータを配列に変換しますか?

答えて

3

あなたの質問は主に意見に基づいていますが、可能であればパイプを使用するのではなく、ソースから修正するほうがよいでしょう。あなたが得ることができるソースに最も近いサーバーへのコールがある場合、私はあなたがこの(未テスト)のようなもので、rxjsを使用して、そこに変更を提案:

this.http.get(url) 
    .map(response => response.json()) 
    .map(data => Object.keys(data).map(key => data [key]); 
}); 
+1

彼はキーと値を希望する場合は、 'オブジェクトを検討します。 –

+0

@AluanHaddadこれは本当に素晴らしい追加です – PierreDuc

+0

ありがとうございます。古いブラウザとNodeJSランタイムをサポートするためには、ポリフィルが必要です。これはcore-jsの一部です。また、mozzila https://github.com/es-shims/Object.entriesで、スタンドアロンで個別にパッケージ化されたものを見つけることもできます。 –

関連する問題