Получить значения Ionic Storage - получить значения из асинхронной функции - PullRequest
0 голосов
/ 11 октября 2018

Если я храню токен и идентификатор пользователя в хранилище Ionic, как я могу получить их значения?

до сих пор, я реализовал что-то вроде этого

auth.service.ts

getToken() {
    return this.storage.get(TOKEN_KEY);
}

getId() {
    this.storage.get(ID);
}

crud.service.ts

getOne(url: string, id: string): any {
    return this.http.get('/api/v1' + url + '/' + id, {
        headers: this.getHeaders()
    })
}


getHeaders() {
    return new HttpHeaders({ 'Content-Type': 'application/json; charset=utf-8', 'Authorization': 'Bearer ' +  this.authServ.getToken()})
}

my.component.ts

 user: User = new User();
 id: string;

 constructor(private crudServ: CrudService, private authServ: AuthService) {
    this.id = this.authServ.getId();
 }

 ngOnInit() {
    this.crudServ.getOne('/users', this.id).subscribe(data => {
      this.user = data;
    })
 }

Я знаю, что получение ионной памяти - это асинхронная функция, но я не могу найти решение, как использовать эту функцию для получения токена и идентификатора и использовать эти значения внутри других функций

1 Ответ

0 голосов
/ 11 октября 2018

в твоих тс:

user: User = new User();
 id: string;

 constructor(private crudServ: CrudService, private authServ: AuthService) {
    this.id = "";
 }

 ngOnInit() {
    this.authServ.getId().then(data => {
        this.id = data;
        this.crudServ.getOne('/users', this.id).subscribe(data => {
            this.user = data;
          });
       });
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...