Javascript 异步存储setItem/getItem不工作?
我使用AsyncStorage在应用程序中存储和检索一些信息(如姓名、电子邮件)。当我调用setItem时,它返回promise“_45:0”,“_65:0”,“_55:null:”\u 75:null,getItem也返回相同的值。如何在异步存储中设置/获取值? 我正在使用以下代码:Javascript 异步存储setItem/getItem不工作?,javascript,react-native,asyncstorage,Javascript,React Native,Asyncstorage,我使用AsyncStorage在应用程序中存储和检索一些信息(如姓名、电子邮件)。当我调用setItem时,它返回promise“_45:0”,“_65:0”,“_55:null:”\u 75:null,getItem也返回相同的值。如何在异步存储中设置/获取值? 我正在使用以下代码: 导出异步函数setItem(键、值){ 试一试{ var data=await AsyncStorage.setItem(键,值); }捕获(错误){ } } 导出异步函数getItem(键){ 试一试{ va
导出异步函数setItem(键、值){
试一试{
var data=await AsyncStorage.setItem(键,值);
}捕获(错误){
}
}
导出异步函数getItem(键){
试一试{
var item=await AsyncStorage.getItem(键);
如果(项!==null){
退货项目;
}
}捕获(错误){
}
}
您的函数返回承诺async/await
只是一种语法糖。如果您想使用助手从AsyncStorage
获取项目,您需要这样使用:
getItem('someKey')
.then(val => console.log(val)
.catch(err => console.log(err))
或
async
函数的返回值包装在一个承诺中。在getItem
内部,您可以将item
作为标准对象进行访问,但是getItem
的调用方需要(1)是异步函数,或者(2)将返回值视为承诺。但它将像以下那样返回“\u 45”:0,“\u 65”:0,“\u 55”:MyExpectedValue,“\u 75”:null。如何使用_55或任何其他方式访问值?
function async getItemAndDoSomething() {
const item = await getItem('someKey')
// do something with your item here
}
getItemAndDoSomething()