Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 异步存储setItem/getItem不工作?_Javascript_React Native_Asyncstorage - Fatal编程技术网

Javascript 异步存储setItem/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

我使用AsyncStorage在应用程序中存储和检索一些信息(如姓名、电子邮件)。当我调用setItem时,它返回promise“_45:0”,“_65:0”,“_55:null:”\u 75:null,getItem也返回相同的值。如何在异步存储中设置/获取值? 我正在使用以下代码:

导出异步函数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()