当我使用AsyncStorage.getItem()
检索指定键的值(电子邮件地址)时,它会返回Promise对象,如文档中所示。该值出现在对象中,如下所示:
{
_45: 0
_54: null
_65: "testuser@test.com"
_81: 1
}
我可以通过调用obj._65
来可靠地访问此值,还是有其他方法可以实现此目的?
答案 0 :(得分:9)
AsyncStorage返回一个承诺。你可以使用.then获取价值
为例:
AsyncStorage.getItem('key').then((keyValue) => {
console.log(keyValue) //Display key value
}, (error) => {
console.log(error) //Display error
});
答案 1 :(得分:0)
查看at the docs您应该能够可靠地执行此操作以从异步存储对象中检索数据。:
@(Html.Kendo().MultiSelect()
.Name("ContactTags")
.DataTextField("Name")
.DataValueField("TagId")
.Placeholder("Please select a tag")
.AutoBind(false)
.Value(Model.SelectedTags)
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetTags", "ContactTag");
})
.ServerFiltering(true);
})
)
您必须在try {
const value = await AsyncStorage.getItem('@MySuperStore:key');
if (value !== null){
// We have data!!
console.log(value._65);
}
} catch (error) {
// Error retrieving data
}
的函数中使用它,否则您将获得运行时异常。