2017-02-05 11 views
0

私はデータベースに100を超える項目があり、正確な数値はわからないと言います。私のバックエンドAPIは、開始アイテムIDと必要なアイテムの数を指定すると、必要な数のアイテムを提供します。アイテムIDは0から始まって1ずつ増加しています。Angular2でのHTTPリクエストの繰り返し

クライアントサイドで処理するためにバッチでバッチ(たとえば、バッチごとに10アイテム)をフェッチしたいとします。 1つのバッチを処理した後、次のバッチを取得したい。

私のAngular 2プロジェクトでRxJSを使用してこれを達成する最良の方法は何ですか?

答えて

1

RxJSのSubjectを調べてみたいと思います。 Angular2 Serviceで1つを使用して、結果の次のページを取得し、件名の.next(<value>) apiを使用してUIにプッシュすることができます。次に、購読するコンポーネントに公開されているオブザーバブルを公開します(または、テンプレート内の非同期パイプを使用して)結果を表示します。

件名を持つサービスでは、現在の番号を追跡できるので、fetchNextPageタイプのメソッドを呼び出すことができます。このメソッドは、件名を介して次のバッチ処理結果を取得するために呼び出すことができます。 UI。

したがって、このような何か:件名を持つ

注射サービス、データを収集するためにfetchfetchNextPageのような、おそらく方法と同様にさらさresultsまたは取得対象の.asObservable()

コンポーネントである何かサービスが注入され、サービスのサブスクリプションが設定されます(results Observable)。コンポーネントのngOnInitにあるサービスのfetchに電話し、UIが必要であると判断した場合は、サービスでfetchNextPageに電話してより多くのデータを読み込みます。

大丈夫でしょうか。

関連する問題