私は、CRUD APIを持っています。ここでは、エンティティのgetは、リストと現在のフィルタ設定の項目の合計数の両方を返します。例えばRxjs Observable:1つのAPI呼び出しで異なる値をサブスクライブする
:GET /posts
{
"items": [
{
"id": 1,
"title": "post title 1"
}
...
],
"total": 9
}
がどのようにHTTPクエリが一度だけ実行されますが、どこが合計値やアイテムのリストのいずれかに加入することができる場所に観察を作成することができますか?
私はtypescriptでAngular2コンテキストにいます。
は、私が最初にこれを試してみました、それが働いた:
this.http.get('/api/posts').map(response => response.json()).subscribe(data => {
var items = data.items
var total = data.total
});
をしかし、私はポストのエンティティのための私のインターフェイスを使用することはできません(または私はこれは本当にないこと{items: Post, total: number}
のようなインターフェイスを定義しなければなりませんように私はこれが好きではありません優雅な)。私がしたいのは次のようなものです:
this.myPostService.totalObservable.subscribe(total => this.total = total)
this.myPostService.itemsObservable.subscribe(items => this.items = items)
しかし、2つのクエリをトリガーしないでください。
私はこのブログ投稿に目を通しました:https://coryrylan.com/blog/angular-2-observable-data-servicesですが、最初に購読してからlist()メソッドを呼び出してリストを読み込むのは嫌です。
こんにちは@paulpdaniels。私はいくつかの例で私の質問を更新しました。 – jobou