AsyncStorage 始终 returns {“_U”:0,“_V”:0,“_W”:空,“_X”:空}

AsyncStorage always returns {"_U": 0, "_V": 0, "_W": null, "_X": null}

async function getTokenFromAsync() {
  const userToken = await AsyncStorage.getItem('@User_Token');
  return userToken;
}

export default {getTokenFromAsync};

我正在尝试从 asyncStorage 获取 userToken 但它 return 我这个 {"_U": 0, "_V": 0, "_W": null, "_X": null}, 我正在使用 React Native

您没有解析 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))

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

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