1
私はHTTP要求インターセプタを作成しています。Http
モジュールget
メソッドをオーバーライドしていますので、自動的にJWTトークンをヘッダに追加できます。正確なObservable <Response>を返します。Promise自体は返しません。
私は、次のコードでそれを試してみたが、メソッドから戻るとき、私は次のエラーを取得する:
タイプ
Promise<Observable<Response>>
はObservable<Response>
を型に代入できません。
then()
以内に返そうとしても、同じエラーが発生します。
正しいObservable<Response>
を取得して返品する方法を教えてください。
// ...
@Injectable()
export class AdalHttp extends Http {
constructor(backend: ConnectionBackend, defaultOptions: RequestOptions) {
super(backend, defaultOptions);
}
get(url: string, options?: RequestOptionsArgs): Observable<Response> {
return this.getWithAdal(url, options); // <-- ERROR HERE
}
private getWithAdal(url: string, options?: RequestOptionsArgs): Promise<Observable<Response>> {
return new Promise((resolve, reject) => {
this.authenticate((authResponse) => {
if (!options) {
options = { headers: new Headers() };
}
options.headers.set('Authorization', 'Bearer ' + authResponse.accessToken);
resolve(super.get(url, options));
}, err => reject(err));
});
}
// ...
}
this.authenticateは何ですか観察可能戻りますか? – kyle
'async' /' await'を使用できますか? –