2016-05-04 13 views
1

サービスからデータを取得した後にコールバック関数をキューイングまたは作成しようとしましたが、関数が非同期に呼び出されたようです。私はObservableのデータが関数に必要なので、データがフェッチされた後に関数を呼び出すようにしたいと思います。すべてのデータがthis.itemsに割り当てられている前に、これまでのところ、これは関数として動作しませんと呼ばれている:Observable in Angular 2でデータを取得した後のキュー/コールバック関数

this._itemsService.getItems().subscribe(items => this.items = items, err => {}, callThisFunctionAfter()); 

は、コールバックの中に機能をオンまたは約束のようにそれをキューする方法はありますか?

答えて

1

関数呼び出しではなく、クロージャにする必要があります。

this._itemsService.getItems().subscribe(items => this.items = items, err => {},() => callThisFunctionAfter()); 

() =>がなければ、結果はコールバックとして渡されます。

これは、観測値が閉じられたときの代わりに、subscribe()の前にcallThisFunctionAfter()が実行される理由です。

関連する問題