Ich versuche, eine Kopfzeile zu meinem API Anruf hinzufügen, aber ich muss Auth-Token bekommen und das auf die Kopfzeile setzen. Aber wenn ich versuche, den folgenden Code auszuführen, wird er nicht gesetzt, sondern nur der Inhaltstyp.Header nicht im Speicher gesetzt Versprechen
import {HttpClient, HttpHeaders} from '@angular/common/http';
import {Component, Injectable} from '@angular/core';
import { Storage } from "@ionic/storage";
import 'rxjs/add/operator/map';
@Injectable()
@Component({
providers: [HttpClient]
})
export class DataProvider {
public token:string;
constructor(public http: HttpClient, public storage: Storage) {}
getsomething(){
let headers = new HttpHeaders();
headers = headers.set('Content-Type', 'application/json');
this.storage.get('token').then((val) => {
this.token = val;
console.log(this.token);
headers = headers.set('AuthToken', this.token);
});
console.log(headers);
return this.http.get('http://localhost:54951/getfarms', {
headers: headers
});
}
Sind Sie sicher? Der Code scheint darauf hinzuweisen, dass 'set' jedes Mal ein neues geklontes Objekt zurückgibt, wenn Sie nur set aufrufen und nichts mit dem Ergebnis tun, dass es keine Auswirkungen hat https://github.com/angular/angular/blob/72c7b6edea39f6591463c2a22eb24d087fd756b7/packages /common/http/src/headers.ts –