AsyncStorage 总是返回 "_U": 0, "_V": 0, "_W": null, "_X": null

Posted

技术标签:

【中文标题】AsyncStorage 总是返回 "_U": 0, "_V": 0, "_W": null, "_X": null【英文标题】:AsyncStorage always returns "_U": 0, "_V": 0, "_W": null, "_X": nullAsyncStorage 总是返回 "_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 中,但在上述函数中,我想获取令牌并返回它们 【参考方案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 检查***.com/questions/57033617/…

以上是关于AsyncStorage 总是返回 "_U": 0, "_V": 0, "_W": null, "_X": null的主要内容,如果未能解决你的问题,请参考以下文章

React Native AsyncStorage:从 Promise 对象访问值

fetch API 总是返回 "_U": 0, "_V": 0, "_W": null, "_X": null

(React Native)设置 AsyncStorage 值但在我检索它时得到垃圾

React Native - 返回 AsyncStorage 中的所有 JSON 数据?

React Native - 如果我尝试获取字符串,AsyncStorage会返回null

React Native AsyncStorage getItem 返回承诺而不是值