Ich habe Methode in einem gewissen Service:Angular 2 rxJs, abonnieren Fehler
public approveTokenExpiration(): Observable<any> {
let header = new Headers();
header.append('Authorization', this.getTokenHeaderValue());
let options = new RequestOptions({headers: header});
return this.http.get(Constants.oauthLoginEndPointUrl, options)
.map(res => {
return res;
})
.catch(err => {
return refreshToken()
.subscribe(res => {
return res;
});
});
}
Aktualisierungs-Token-Methode:
public refreshToken(): Observable<any> {
let refreshToken = localStorage.getItem(Constants.REFRESH_TOKEN);
let refreshEndPointUrl = Constants.oauthLoginEndPointUrl + "?grant_type=refresh_token&client_id=" +
Constants.clientId + "&client_secret=" + Constants.clientSecret + "&refresh_token=" + refreshToken;
this.http
.post(refreshEndPointUrl, {})
.map(res => {
this.setAuthLocalStorageItems(res);
this.removeAuthLocalStorageItems();
return res;
});
}
Und Abonnement:
request(url: string|Request, options?: RequestOptionsArgs): Observable<Response> {
this.customOptions = options;
return this.authService.approveTokenExpiration()
.subscribe(
res => {
this.addAuthHeader();
return super.request(url, this.customOptions);
},
err => {
this.authService.refreshToken();
this.addAuthHeader();
return super.request(url, this.customOptions);
});
}
ich folgende Fehler bekommen :
ERROR in [at-loader] ./src/app/auth/intercept/auth.interceptor.ts:18:5 TS2322: Type 'Subscription' is not assignable to type 'Observable'. Property '_isScalar' is missing in type 'Subscription'.
Und überprüfen Sie bitte, ob alles in Ordnung ist mit meiner RxJs Handhabung;