离子存储 GET

Ionic storage 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;
  }

Return:

GET2: uid: 0
GET1: uid: 1

您需要了解 promise 的工作原理。

这段代码是异步的,then回调中的所有行都会被执行,但你不能决定什么时候。

console.log("GET2")严格执行在storage.get之后,这部分是同步的