rxjsの動作についてはまだ混乱しています。プロパティ 'subscribe'が 'Promise'タイプに存在しません
私はサーバーにリクエストしてjsonを期待するIonicアプリを構築しています。私は正常にhttp.postを購読して、必要なデータを得ることができました。
しかし、今私の問題は、私がストレージから取得するhttp要求で認証トークンを渡す必要があるということです。これは問題です。ストレージが準備され、http.postリクエストを呼び出す前に私がトークンの値を取得するまで待つ必要があるからです。
私はしかし、ここで
ionViewDidLoad(){
this.merchandisingDataService.getPlanograms()
.subscribe(Planogram => this.planograms = Planogram);
}
から呼び出される私のJSONデータ
getPlanograms() {
//API URL
let requestURL = 'https://myapiurlhere';
let headers = new Headers({'Content-Type': 'application/json'});
return this.storage.ready().then(() => {
return this.storage.get('id_token').then((val) => {
headers.append('Authorization', 'Bearer ' + this.authCredentials.token);
let options = new RequestOptions({headers: headers});
return this.http.post(requestURL, {}, options)
.map(response => <Planogram[]>response.json());
})
});
}
を取得しようとしていますここは私がこれを行うにしようとすると、私は次のようなエラー
を取得し、ありますプロパティ 'subscribe'が 'Promise'タイプに存在しません。
私の目的を達成するにはどうすればよいでしょうか?
'getPlanograms()' 'Promise'を返します。約束を「購読する」ことはできません。あなたは「約束」し、観測可能なものに「購読する」ことができます。 – 0xcaff
ご意見ありがとうございます。私のトークン変数がStorageから取得された後でも、それを実行しながらhttp.post要求から観測値を戻し続ける最良の方法は何でしょうか? –