首页 > 解决方案 > 将承诺的返回值分配给反应中的外部变量

问题描述

我希望你身体健康。我正在使用离子和反应开发一个简单的移动应用程序。我正在使用 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) 包含实际的用户名。但是当我将其值分配给会话变量时。会话变量变得未定义。我不知道如何从这个函数中获取会话值。请帮我解决这个问题。谢谢

标签: reactjsionic-frameworkes6-promiseionic-react

解决方案


我认为你不能。包裹的代码then()是异步执行的,这意味着你不知道先执行什么:session = p3console.log(session). 也许这个问题会有所帮助? 如何访问承诺的价值?


推荐阅读