Как и другие отмечали, вы должны понимать, как работают обещания.Вот как: 1: LoadToken должен вернуть обещание:
loadToken(){
return this.storage.get(TOKEN_KEY);
}
Обратите внимание на ключевое слово return , которое будет возвращать обещание, возвращаемое storage.get ()
2: используйте это обещание и дождитесь его завершения, прежде чем продолжить:
async getData(type){
this.token = await this.loadToken();
let headers = this.setHeaders();
return this.http.get(this.url + type, {headers: headers});
}
Запишите ключевое слово async перед именем метода getData, которое указывает, что вы будетежду обещаний, чтобы выполнить его.затем ключевое слово await , которое будет гарантировать, что остальная часть кода будет выполняться только после разрешения обещания.
Поскольку обещание также может быть отклонено, необходимо выполнить следующее:
async getData(type){
try {
this.token = await this.loadToken();
let headers = this.setHeaders();
return this.http.get(this.url + type, {headers: headers});
} catch (error) {
//Handle your error here
}
}