#angularjs #typescript #ionic-framework #ionic4 #ionic5
#angularjs #машинописный текст #ionic-framework #ionic4 #ionic5
Вопрос:
Я пытаюсь получить значение из ионного хранилища, но здесь это не работает. Почему 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. Это явно не проблема с ionic или angular. Вот как должны работать promises.
Ответ №1:
Вам нужно понять, как работает promise.
Этот код является асинхронным, все строки в then
обратном вызове будут выполнены, но вы не можете решить, когда.
console.log("GET2")
Выполняется строго после storage.get
, эта часть синхронна.