私はフロントエンドにng2-ui-authを使用していますが、問題を見つけました。修正方法はわかりません...これはシンプルですメソッドを私のUserServiceから取得しますが、キャッチがあります。非同期メソッドが呼び出されて、http.get呼び出しに必要なトークンが1つ取得されます。http.getを返す前に非同期データを待つ方法
getUser()
{
const headers: Headers = new Headers();
headers.append('Accept', 'application/json');
headers.append('Content-Type', 'application/json');
headers.append('X-Auth-Token', this.authService.getToken());
const options = new RequestOptions({headers: headers});
return this.http.get('http://localhost:9900/user', options).map(response => response.json());
}
問題がある - 時々http.getがthis.authService.getTokenがデータを返す前に呼び出されているので、私はこのように私を残し、「X-Authの-トークン」内のヌルで終わります "不正なエラーです。
ヘッダが完成するまで待ってからhttp.getを返す方法はありますか?
これは、getUser()自体がプロミスを返すようにリファクタリングする必要があると思います。 authServiceの呼び出しをPromise内に配置し、その後でコードの残りの部分を実行します。 –
getToken()はWebサービスですか? httpリクエストを呼び出す – alehn96