You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从Async函数返回值并声明为全局变量(React Native下不使用useState)

根本原因

所有标记了async的函数,默认返回值都是Promise实例,你直接调用不做Promise处理的话,拿到的永远是Promise对象而非内部返回的实际取值。


解决方案

方法1:在async函数内部调用时加await

如果你调用_getStorageValue的位置本身也在另一个async函数内,直接在调用前加await即可直接拿到实际值:

// 示例:在其他async方法中调用
async otherFunction() {
  const returnedValue = await _getStorageValue()
  // 此处可直接使用returnedValue作为实际取到的存储值
}

方法2:用.then()回调处理Promise返回值

如果调用位置不在async函数内,可以通过Promise的.then回调拿到返回值,直接在回调内部处理你的业务逻辑即可:

let returnedValue
_getStorageValue().then(value => {
  returnedValue = value
  // 所有需要用到returnedValue的逻辑都要写在这个回调内部,或者调用对应的处理函数
})

注意:不要尝试在.then回调外同步读取returnedValue的值,异步操作的执行顺序晚于同步代码,外部同步读取时Promise还没完成赋值,拿到的会是undefined。

内容的提问来源于stack exchange,提问作者Tegid Goodman-Jones

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 18:18:00