私は、重複したコードでプロジェクトをクリーンアップしようとしていますが、私はバックエンドを複数のコンポーネントから私のプログラムをダウン。作るつのサービスをしている私もやってみたかった何Observable.subscribe()内のObservableを角2で宣言する
this.http.get(this.ds.services_URL).map((res)=>res.json()).subscribe(
(data) =>{
this.Services=data;
});
:
は、以前は、各コンポーネント、ngOnInit()メソッド内で、サービスの配列を初期化するために、それにこのようなものを持っていましたhttpコールを1回実行すれば、私のコンポーネントはデータのサービスを要求できます。私は私のサービスでは、このような何か持ってみた:
private loadServices()
{
this.http.get(this.services_URL).map((res)=>res.json()).subscribe(
(data) =>{
this.serviceO=new Observable(observer=>{
setTimeout(()=>{
observer.next(data);
observer.complete();
},1000);
});
});
}
serviceOが観察さが、異なるコンポーネントではなくhttp.get結果よりも、それを購読するでしょう。
Observableの値を実際に設定する方法がわからないという事実に加えて、私たちはObservable全体を非同期的に再定義しているため、Observerは実際には参照できません。私が直面している問題を見て、私は正しい方向に進んでいないと思うので、どのようにすれば良い方向を知ることができますか?(私は "プロパティを読み込むことができません"例外のような種類のプロパティを購読できません)
達成したいことを達成する?
達成しようとしていることは何ですか? setTimeoutとは何ですか?戻り値this.http.get(this.services_URL).map(res => res.json()); '? –
タイムアウトは何のためでもありません。Observableの値を実際に設定する方法を説明した唯一のチュートリアルです。 問題は、毎回サービスを呼びたくないということです –