【问题标题】:AsyncStorage always returns {"_U": 0, "_V": 0, "_W": null, "_X": null}AsyncStorage 总是返回 {"_U": 0, "_V": 0, "_W": null, "_X": null}
【发布时间】:2022-01-14 01:36:57
【问题描述】:
async function getTokenFromAsync() {
  const userToken = await AsyncStorage.getItem('@User_Token');
  return userToken;
}

export default {getTokenFromAsync};

我试图从 asyncStorage 获取 userToken 但它返回给我这个 {"_U": 0, "_V": 0, "_W": null, "_X": null}, 我正在使用本机反应

【问题讨论】:

  • 你在密钥@User_Token中存储了什么。
  • 先生,我将用户 jwt 令牌存储在 asyncStorage 中,但在上述函数中,我想获取令牌并返回它们

标签: javascript reactjs react-native asyncstorage


【解决方案1】:

你没有解决 Promise 因此你的“奇怪”输出。

这是我定义 get 函数的方式:

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

然后您可以通过使用您的键调用函数来获取数据。

  await getData("yourKey")
  .then(data => data)
  .then(value => {
    a state or constant = value
    console.log("yourKey Value:  " + value)
  })
  .catch(err => console.log(err))

【讨论】:

    【解决方案2】:

    你应该等待解决你正在使用它的承诺

    getTokenFromAsync().then((userToken)=>{
      console.log(userToken);
    });
    

    【讨论】:

    • 先生,我如何将此令牌存储在全局变量中。因为我想在 axios 实例中使用这个令牌。 const authAxios = axios.create({ baseURL: "http://192.168.18.70:4000", headers: { token: userToken, }, }) export default authAxios;
    • @ijazbach 你可以使用axios interceptors 检查stackoverflow.com/questions/57033617/…
    猜你喜欢
    • 2021-03-02
    • 2022-01-14
    • 1970-01-01
    • 2022-01-05
    • 2021-04-21
    • 2021-11-26
    • 1970-01-01
    • 2021-12-10
    相关资源
    最近更新 更多