Ионное хранилище GET

Я пытаюсь извлечь выгоду из ионного накопителя, но здесь это не работает. Почему GET2 выполняется до storage.get? Мой мозг сломан, помогите пожалуйста.

  public storageGet(key: string){
    var uid = 0;
     this.storage.get(key).then((val) => {
      console.log('GET1: ' + key + ': ' + val);
      if (val != null) { uid = val;}
    });
    console.log('GET2: ' + key + ': ' + uid);
  return uid;
  }

Возвращение:

GET2: uid: 0
GET1: uid: 1

1 ответ

Решение

Вам нужно понять, как работает обещание.

Этот код асинхронный, все строки в then обратный вызов будет выполнен, но вы не можете решить, когда.

В console.log("GET2") выполняется строго после storage.get, эта часть синхронна.

Другие вопросы по тегам