我在React Native应用程序中使用AsyncStorage
来存储有关用户的信息。 getItem()
函数是异步的,当我想从存储系统加载数据时,我需要实现回调。
AsyncStorage.getItem("phoneNumber").then((value) => {
this.setState({"phoneNumber": value});
}).done();
因为从存储中检索值不需要很长时间,所以我想等到操作完成后再继续执行。
是否可以以非异步方式加载数据?如果没有,是否有一种简单的方法让我等到getItem()
电话完成后才能继续执行?
答案 0 :(得分:25)
您可以尝试在getItem
之后添加一个。
AsyncStorage.getItem("phoneNumber").then((value) => {
this.setState({"phoneNumber": value});
})
.then(res => {
//do something else
});
或使用await等待async
操作完成
var value = await AsyncStorage.getItem(STORAGE_KEY);
//use value to do something else.
答案 1 :(得分:5)
尝试此选项,您将无法获得
语法错误:Await是保留字
async getData() {
return await AsyncStorage.getItem("@App:KEY");
}
答案 2 :(得分:0)
你可以试试这个:
async getPhoneNumber() {
const phoneNumber = await AsyncStorage.getItem("phoneNumber")
console.log(phoneNumber)
}