reactjs - 将承诺的返回值分配给反应中的外部变量
问题描述
我希望你身体健康。我正在使用离子和反应开发一个简单的移动应用程序。我正在使用 sql 数据库,为此我创建了用于用户注册和登录的 Api。每当用户登录时,应用程序使用本地存储存储用户会话。[保存会话的代码]
Storage.set({
key: 'currentUser',
value: username
});
没有问题是这样的:[检索存储值的代码]
let session;
Storage.get({ key: 'currentUser' })
.then(p1 => {
const p2 = p1.value;
const p3 = p2.replace(/"/g, "");
session = p3;
});
console.log(session) //This gives 'undefined'
这里变量 (p3) 包含实际的用户名。但是当我将其值分配给会话变量时。会话变量变得未定义。我不知道如何从这个函数中获取会话值。请帮我解决这个问题。谢谢
解决方案
我认为你不能。包裹的代码then()
是异步执行的,这意味着你不知道先执行什么:session = p3
或console.log(session)
. 也许这个问题会有所帮助?
如何访问承诺的价值?
推荐阅读
- python - 无法访问while循环
- java - 为 JWT 验证生成公钥实例
- javascript - JavaScript 类中的“this”为什么会抛出这个错误?
- python - 在列表中追加字典 - python
- sql - SQL 查询耗时太长,甚至没有响应
- java - 如何修复tomcat9中“不支持的类文件主要版本60”?
- python - Colab 运行时在几分钟内断开连接
- reactjs - 如何解决文本输入中的文本光标在插入键入的字符后自动放置在输入末尾的问题?
- azure - Azure VM -> 灾难恢复选项卡 -> 显示错误页面
- java - 使用mybatis executortype.batch时如何查找错误的参数一次插入批处理