AsyncStorage下面的代码无法运行

时间:2018-07-03 20:53:30

标签: react-native asyncstorage

我正在开发我的第一个React Native应用。我正在尝试学习AsyncStorage的工作原理,但是即使据说很简单,我也无法以某种方式使其工作。

无论存储何时更新,我都试图将数据保存到存储中。 问题是该行下面的代码: “正在等待AsyncStorage.setItem(“ TODOS”,jTodo)“似乎没有运行。我不知道问题是什么...

const unsubscribe = store.subscribe(save);

async function save(){
  try {
    const todos = store.getState().todos
    console.log(todos)
    const jTodo = JSON.stringify(todos)
    await AsyncStorage.setItem("TODOS", jTodo)
    console.log("saving 2: " + todos);

  } catch (e) {
    console.error('Failed to save todos.' + todos)
  }
}

当我尝试从存储中加载数据时,情况也是如此。再次显示以下代码行:“ const jTodos = await AsyncStorage.getItem('TODOS')”。

async function load() {
  try {
      console.log("so far even better")
      const jTodos = await AsyncStorage.getItem('TODOS')
      const todos = JSON.parse(jTodos);
      console.log(todos);
      todos.map((todo) => this.props.addTodo(todo))   
  } catch (e) {
      console.error('Failed to load todos.')
  }
}

load();

我希望你们中的一些人能指出问题所在!预先谢谢你!

1 个答案:

答案 0 :(得分:1)

如果您使用的是android,则存在已知问题,无法正常运行。 从Android Studio“冷启动”您的模拟器。

https://github.com/facebook/react-native/issues/14101