我正在使用AsyncStorage在应用程序中存储和检索一些信息(如姓名,电子邮件)。 当我调用 setItem 时,它返回承诺 "_45":0,"_65":0,"_55":null:"_75":null 和 getItem 也返回相同的信息。如何在异步存储中设置/获取值?我使用以下代码:
export async function setItem(key, value) {
try {
var data = await AsyncStorage.setItem(key, value);
} catch (error) {
}
}
export async function getItem(key) {
try {
var item = await AsyncStorage.getItem(key);
if(item !== null) {
return item;
}
} catch (error) {
}
}
提前谢谢。
你的函数返回承诺。 async/await
只是一个句法糖。如果你想使用你的助手从AsyncStorage
获取项目,你需要这样使用:
getItem('someKey')
.then(val => console.log(val)
.catch(err => console.log(err))
或
function async getItemAndDoSomething() {
const item = await getItem('someKey')
// do something with your item here
}
getItemAndDoSomething()
async
函数的返回值包装在 promise 中。在 getItem
中,您可以将item
作为标准对象进行访问,但getItem
的调用方需要 (1) 是异步函数或 (2) 将返回值视为 Promise。