我使用AsyncStorage来存储和检索应用程序中的一些信息(如名称、电子邮件)。当我调用setItem时,它返回承诺"_45":0,"_65":0,"_55":null:"_75":null和getItem也返回相同的内容。如何在AsyncStorage中设置/获取值?我使用以下代码:
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) {
}
}
提前谢谢。
发布于 2017-11-06 14:25:18
您的函数返回承诺。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()发布于 2017-11-06 14:26:05
async函数的返回值被包装在承诺中。在您的getItem中,您可以将item作为标准对象访问,但是getItem的调用者需要(1)是异步函数,或者(2)将返回值视为承诺。
https://stackoverflow.com/questions/47138924
复制相似问题