react-native - AsyncStorage 在 React-Native 中有奇怪的字符
问题描述
我正在尝试使用 AsyncStorage 存储我的用户授权密钥,但每当我这样做时,我都会得到奇怪的字符。这是我的相关代码:
async function retrieveItem(key) {
try {
let retrievedItem = await AsyncStorage.getItem(key).then(value => retrieveItem = value);
return retrievedItem;
} catch (error) {
console.log(error.message);
}
return
}
let test = retrieveItem('@authentication')
class AppNavigation extends Component {
render() {
console.log(test)
...
这是我得到的测试输出。我想要的物品在下面_55
,我可以通过console.log(test._55)
. 我只是想确保我没有正确执行此操作。异步存储的密钥总是 _55 吗?
{"_40": 0, "_55": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1ZTk1ODM3NDJlZDI1YjAxMWM4MWFiNWEiLCJpYXQiOjE1ODY4NTY4MjB9.yK0WYuZj7_2Nih7phisi5rmm0y7gF__PMRMEAafIkFk", "_65": 1, "_72": null}
解决方案
您应该注意将 async/await 和 .then 一起使用,它们都做同样的事情。试试这个代码:
async function retrieveItem(key) {
try {
let retrievedItem = await AsyncStorage.getItem(key);
return retrievedItem;
} catch (error) {
console.log(error.message);
}
return
}
let test = await retrieveItem('@authentication')
class AppNavigation extends Component {
render() {
console.log(test)
编辑:你得到的对象是一个承诺,你可以通过执行 async/await 语法或调用 .then(...)
推荐阅读
- glibc - 在 kali linux 中从源代码安装 glibc-2.29
- python - 带有 Cartpole 问题的 pytorch NN 使分数最小化
- android - 膨胀布局时背景透明
- javascript - Resource Timing API - 有没有办法检索 HTTP 请求方法?
- matlab - 如何在 Matlab 中使用状态空间模型避免 tf() 命令
- angular - 开发全局工具提示
- oracle - Tableau - 划分论坛的聚合和非聚合错误
- java - 验证扫描仪只允许字符
- installation - grub2-mkconfig 在通过 kickstart 文件和 UEFI 模式安装 centos7 时采用 fedora 路径而不是 centos
- javascript - 找出 Node.js 依赖模块崩溃的方法是什么?