等待AsyncStorage.getItem()

Ada*_*ela 15 react-native asyncstorage

AsyncStorage在我的React Native应用程序中使用来存储有关用户的信息.该getItem()函数是异步的,当我想从存储系统加载数据时,我需要实现回调.

AsyncStorage.getItem("phoneNumber").then((value) => {
    this.setState({"phoneNumber": value});
}).done();
Run Code Online (Sandbox Code Playgroud)

因为从存储中检索值不需要很长时间,所以我想等到操作完成后再继续执行.

是否可以以非异步方式加载数据?如果没有,是否有一种简单的方法让我等到getItem()通话完成后继续执行?

Fan*_*Jin 25

你可以尝试在你的后添加一个getItem.

AsyncStorage.getItem("phoneNumber").then((value) => {
    this.setState({"phoneNumber": value});
})
.then(res => {
    //do something else
});
Run Code Online (Sandbox Code Playgroud)

或者使用等待async操作完成

var value = await AsyncStorage.getItem(STORAGE_KEY);
//use value to do something else.
Run Code Online (Sandbox Code Playgroud)

  • 语法错误:Await是保留字. (3认同)
  • 使用'await'将'async'关键字添加到函数的函数定义中 (3认同)
  • 我也正在等待。在`var value = await AsyncStorage.getItem(STORAGE_KEY);`之后没有任何反应。它没有返回任何东西。 (2认同)

小智 5

尝试这个选项,你不会得到

语法错误:Await是保留字

async getData() {
    return await AsyncStorage.getItem("@App:KEY");
}
Run Code Online (Sandbox Code Playgroud)