React Native AsyncStorage:从 Promise 对象访问值
Posted
技术标签:
【中文标题】React Native AsyncStorage:从 Promise 对象访问值【英文标题】:React Native AsyncStorage: Accessing Value from Promise Object 【发布时间】:2017-02-01 16:08:07 【问题描述】:当我使用AsyncStorage.getItem()
检索指定键的值(电子邮件地址)时,它会返回文档中所示的 Promise 对象。该值出现在对象中,如下所示:
_45: 0
_54: null
_65: "testuser@test.com"
_81: 1
我可以通过调用obj._65
可靠地访问该值吗?或者有其他方法可以实现吗?
【问题讨论】:
【参考方案1】:AsyncStorage 返回一个承诺。您可以使用 .then 获取价值
示例:
AsyncStorage.getItem('key').then((keyValue) =>
console.log(keyValue) //Display key value
, (error) =>
console.log(error) //Display error
);
【讨论】:
console.log 值显示值但返回值显示承诺 当我退回它时,我也得到了承诺。你是怎么解决的?【参考方案2】:查看at the docs,您应该能够可靠地执行此操作以从您的异步存储对象中检索数据。:
try
const value = await AsyncStorage.getItem('@MySuperStore:key');
if (value !== null)
// We have data!!
console.log(value._65);
catch (error)
// Error retrieving data
您必须在 async
的函数中使用它,否则您将获得运行时异常。
【讨论】:
以上是关于React Native AsyncStorage:从 Promise 对象访问值的主要内容,如果未能解决你的问题,请参考以下文章
对react native 的AsyncStorage 进行小型封装
使用 React native 不推荐使用 AsyncStorage
React Native AsyncStorage 存储字符串以外的值
React Native React Navigation 屏幕在使用 AsyncStorage 登录后不会重定向