【问题标题】:AsyncStorage react native can't getItemAsyncStorage react native 无法获取项目
【发布时间】:2020-10-27 11:57:45
【问题描述】:

这是我的代码:

AsyncStorage.getItem('idtoken').then(value => console.log(value));

这是结果:

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6NTEsImlhdCI6MTYwMzc5ODUyM30.d8veMJVBhYA9P_JAvfpOOMbuZxvMATyrHpzQBaXPHyg

但是当我尝试时:

 const getTaken = () => AsyncStorage.getItem('idtoken').then(value => {
    var tokenuser = value;
    return tokenuser;
  });
  token = getTaken();
  console.log(token);

结果是:{"_U": 0, "_V": 0, "_W": null, "_X": null}

如何获取idtoken中存储的值,请帮帮我

【问题讨论】:

  • 有任何答案解决了您的问题吗?请提供一些反馈

标签: javascript react-native authentication token asyncstorage


【解决方案1】:

您可以使用以下功能存储和获取数据:

  const storeData = async (key, value) => {
    try {
      await AsyncStorage.setItem(key, value); 
    } catch (error) {
      console.log(error);
    }
  };

  const getData = async key => {
    try {
      const data = await AsyncStorage.getItem(key);
      if (data !== null) {
        console.log(data);
        return data;
      }
    } catch (error) {
      console.log(error);
    }
  };

然后您可以调用函数并获取如下值:

存储值:

storeData("Keyname", the value);

获取值并将其设置为状态例如:

  await getData"Keyname") 
    .then((data) => data)
    .then((value) => this.setState({ isFavorite: value }))
    .catch((err) => console.log("AsyncStorageErr: " + err));

【讨论】:

    【解决方案2】:

    试试这个方法

    const getTaken = async () => {    
    
        return await AsyncStorage.getItem("idtoken")
    }
    
    const token = getTaken();
    console.log(token);
    

    【讨论】:

      【解决方案3】:

      您将getTaken 定义为解析为承诺的函数。为了正确调用它,您需要说它是一个异步函数,方法是:

      const getTaken = **async** () => AsyncStorage.getItem('idtoken').then(value => {
          var tokenuser = value;
          return tokenuser;
        });
      

      那么,在调用前加上await,是无法得到结果的。

      token = **await** getTaken();`enter code here`
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-02-01
        • 1970-01-01
        • 2016-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多