React Native使用react-native-encrypted-storage读取加密存储返回异常对象如何解决
问题原因
你拿到的返回结果是未被正确等待的Promise实例的内部状态字段,并非加密存储返回的实际值,问题出在你调用getToken()方法的位置,没有正确处理该异步函数的返回值。
解决方法
getToken是你声明的异步函数,必须通过异步语法接收返回结果,以下是两种正确的调用方式:
- 在
async修饰的函数内使用await接收:
// 示例 async function requestWithToken() { const token = await getToken(); // 后续逻辑需要放在await之后执行 if (token) { // 携带token发起请求等业务逻辑 } }
- 使用
.then链式调用处理返回结果:
getToken().then(token => { // 在这里处理拿到的token值 console.log('实际存储的token:', token) }).catch(error => { // 处理取值异常逻辑 })
你封装的
getToken方法本身符合react-native-encrypted-storage的调用规范,EncryptedStorage.getItem本身就是异步API,只要调用侧正确处理异步逻辑即可拿到正确的存储值。
内容的提问来源于stack exchange,提问作者Luki Dwianto
相关产品推荐
相关产品推荐

