2017-06-07 13 views
0

http投稿リクエストでローカルストレージエレメントを送信する際に問題があります。それはアンドロイドとウェブサイトで動作しますが、iosのhttp要求はローカルストレージ要素を取得する前に実行されます。私は非同期を使用して待機していますが、なぜこの問題が発生したのか分かりません。ここで私がしたコードです。ローカルストレージエレメントの問題がhttp投稿で送信される

async rpibuttonsselect(): Promise<rpibuttondataList[]> { 
     const username = await this.storage.get('name'); 
     let headers = new Headers(); 
     headers.append('Content-Type', 'application/json'); 
     var options = new RequestOptions({ headers: headers }); 
     let response = await this.http.post('http://node.services.com:3084/api/rpibuttonsselect/', JSON.stringify({ username: username }), options).toPromise(); 
     return response.json() as rpibuttondataList[]; 
    } 

答えて

0

.then関数を使用して記憶領域を予約し、その機能からhttp要求を取得します。

 this.storage.get('name').then((username)=>{ 
     let headers = new Headers(); 
     headers.append('Content-Type', 'application/json'); 
     var options = new RequestOptions({ headers: headers }); 
     let response = this.http.post('http://node.services.com:3084/api/rpibuttonsselect/', JSON.stringify({ username: username }), options); 
    }) 
+0

私はこのような何かを試してみましたが、私は方法 'rpichart(){ this.storage.get(「名前」)をサブスクライブを使用できないことを行うことができますどのように応答を購読するに観察を使用することはできません。 ................ } } ' –

+0

私はこれがアンドロイドで動作しますが、iosアプリケーションでは動作しませんでした。' rpichart() { 返すthis.storage.get( 'name')。then((username))> let headers = new Headers(); headers.append( 'Content-Type'、 'application/json'); var options = new RequestOptions({ヘッダ:ヘッダ}); this.http.post( 'http://node.futures-services.com:3084/api/rpichart/'、JSON.stringify({username:username})、オプション).map(res => res。 json())。toPromise() }); } ' –

+0

エラーメッセージが表示されましたか?開発者ツールのネットワークを参照してください –

関連する問題