等待 AsyncStorage.getItem()
Waiting for AsyncStorage.getItem()
我在我的 React Native 应用程序中使用 AsyncStorage
来存储有关用户的信息。 getItem()
函数是异步的,当我想从存储系统加载数据时,需要我实现一个回调。
AsyncStorage.getItem("phoneNumber").then((value) => {
this.setState({"phoneNumber": value});
}).done();
因为从存储中取值的时间并不长,所以想等操作完成再继续执行。
是否可以以非异步方式加载数据?如果没有,是否有一种简单的方法让我等到 getItem()
调用完成后继续执行?
您可以尝试在 getItem
之后添加 then。
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.
试试这个选项,你不会得到
Syntax Error: Await is a reserved word
async getData() {
return await AsyncStorage.getItem("@App:KEY");
}
你可以试试这个:
async getPhoneNumber() {
const phoneNumber = await AsyncStorage.getItem("phoneNumber")
console.log(phoneNumber)
}
我在我的 React Native 应用程序中使用 AsyncStorage
来存储有关用户的信息。 getItem()
函数是异步的,当我想从存储系统加载数据时,需要我实现一个回调。
AsyncStorage.getItem("phoneNumber").then((value) => {
this.setState({"phoneNumber": value});
}).done();
因为从存储中取值的时间并不长,所以想等操作完成再继续执行。
是否可以以非异步方式加载数据?如果没有,是否有一种简单的方法让我等到 getItem()
调用完成后继续执行?
您可以尝试在 getItem
之后添加 then。
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.
试试这个选项,你不会得到
Syntax Error: Await is a reserved word
async getData() {
return await AsyncStorage.getItem("@App:KEY");
}
你可以试试这个:
async getPhoneNumber() {
const phoneNumber = await AsyncStorage.getItem("phoneNumber")
console.log(phoneNumber)
}