イオンストレージを使用して保存したトークンを取得し、それをグローバル変数に保存しようとしていますpublic token = ''
。しかし、値を使用してアクセスするたびにthis.token
変更されません。
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Storage } from '@ionic/storage';
const TOKEN_KEY = 'access_token';
@Injectable()
export class ContactProvider {
public url = 'myapi-link';
public token = '';
constructor(
private storage: Storage,
private http: HttpClient
) {
}
loadToken(){
this.storage.get(TOKEN_KEY).then((token)=>{
this.token = token;
console.log(this.token);
});
}
setHeaders(default_content_type = 'application/json'){
let headers = new HttpHeaders();
headers = headers.set('Content-Type', default_content_type)
.set('Authorization', 'Bearer ' + this.token)
return headers;
}
getData(type){
this.loadToken();
let headers = this.setHeaders();
return this.http.get(this.url + type, {headers: headers});
}
}
を呼び出してもthis.setHeaders()
、this.token
は変化しません。