2
Ionic 2
get
localStorage
にアクセスする機能は約束を返します。以下のコードの問題は、headers
オブジェクトがAuthorization
キーが付加される前に返されることです。約束が解決された後にのみheaders
オブジェクトが返されるように、以下の関数をどのように変更できますか?角2同期約束
private _createAuthHeaders(): Headers {
let headers = new Headers({
'Accept': 'application/json',
'Content-Type': 'application/json'
});
this.local.get('authToken').then(res=>{
headers.append('Authorization', res);
}, err=>{
headers.append('Authorization', '');
});
return headers;
}
また、関数の戻り値の型は ' 'でなければなりませんが、' Headers'オブジェクトを返すようにしたかっただけです。呼び出し元関数にカスタムの 'request'オブジェクトを作成するので、その中に別の約束を処理しなければならないと、コードは複雑になります。 –
短い答えは:あなたはできません;-)長い答えは、約束を活用することができるということです。私はこのアプローチのサンプルで私の答えを更新しました –
私はネイティブの ' .localStorage.getItem( 'authToken') '関数は' String'型だけを返します。しかし、私はフレームワークに固執していつかリファクタリングするべきです。ありがとうございました。 –