ich einen benutzerdefinierten HTTP-Dienst, die ein Zugriffstoken zu jeder Anforderung legt, und ich möchte ein Zugriffstoken von ionic2 Speicherwertden Wert von ionic2 Speicher abrufen und auf einen Wert anhängen nicht
Dies ist der Code verwenden, von meinen beiden
So in dem Httpclient Service vorherigen Fragen i
@Injectable()
export class HttpClient {
authtoken: string;
storage: Storage;
constructor(private http: Http, storage: Storage, private _authService:Authservice) {
this._authService.tokenEvent.subscribe(res => { //subscribing to token event in authservice
if (res) {
this.storage.get('token')
.then(token => {
this.authtoken = token
});
}
})
}
get(url){
let headers = new Headers();
this.createGeneralHeaders(headers);
return Observable
.flatMap( //retuns an error flatmap doesnt exist on observable
name => this.http.get(`${url}?access-token=${this.authtoken}`, {headers})
);
}
im authservice wo das Token
ist Einstellung 210}
Jetzt kann ich leicht die get aus dem ersten Dienst in jeder HTTP-Anforderung verwenden, wie
getChecklists(truckid): Observable<any> {
return this._httpclient.get(this.inspectionurl + "get-checklists")
.map(res=>res.json().data)
}
Der obige erste Dienst Retuns einen Fehler, der tut flatmap existieren. Wie stelle ich den ersten Dienst in einer anderen HTTP-Anforderung verwendet werden, und auch ein Token vom Token-Ereignisse anhänge
Die beiden Lösungen basieren auf dem this question und this question