React Native AsyncStorage:从Promise对象访问值

时间:2016-09-23 17:56:13

标签: react-native promise

当我使用AsyncStorage.getItem()检索指定键的值(电子邮件地址)时,它会返回Promise对象,如文档中所示。该值出现在对象中,如下所示:

{
  _45: 0
  _54: null
  _65: "testuser@test.com"
  _81: 1
}

我可以通过调用obj._65来可靠地访问此值,还是有其他方法可以实现此目的?

2 个答案:

答案 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 } 的函数中使用它,否则您将获得运行时异常。