4

我当前的项目需要我在本地存储用户数据,所以我使用 react native 本身的 AsyncStorage。但是,我遇到了一些关于如何检索已经保存的数据的问题,我总是得到空值,但不知何故,数据被保存了..

我总是得到

{ _45:0,_81:0,_65:空,_54:空}

这是我的代码,这是来自 react native 文档的简单示例

AsyncStorage.setItem('baru', 'this is new dude!!');
var b = AsyncStorage.getItem('baru');
console.log(b);
4

1 回答 1

5

阅读AsyncStorage的文档:

static getItem(key, callback?) 为键获取项目并在完成时调用回调。返回一个 Promise 对象。

你需要处理这个承诺。我建议您使用 (as the docs) async/await。因此,例如,您可以这样做:

async function getItem(item) {
  try {
    const value = await AsyncStorage.getItem(item);
    console.log(value);
    return value;
  } catch (error) {
    // Handle errors here
  }
}

您实际上也应该做类似的setItem事情。

于 2016-09-23T09:53:25.333 回答