【经常犯的错误】在JavaScript【js】中我们经常会使用async异步方法中添加同步变量为何无效【哪怕赋值成功也是加密的对象】

这个错误已经犯了无数次了,而且总是会忽略,所以总结一下!

 

【务必切记】无法再异步的方法中直接添加任何同步的全部变量,因为同一个线程!!!

【异步总结】:异步只能在当前作用域中读或写数据【如果要传入外部也只能返回一个Promise对象】

 

如果玩过Python的Flask,就应该非常有体会,不管是请求线程,还是APP的线程,都必须在同一线程中才能访问对应的变量,如果出现了多线程的时候,你是无法拿到其他线程的对象!

JavaScript中的asysc也是一个道理,一定要切记,只要是异步就实时获取,千万别去保存变量

 

同步和异步存取数据案例演示:


let nameStorage = "同步初始化值";

Vue.prototype.$uniSetStorage("name", "异步存储值");

// 异步和同步是两个完全不一样的线程,所以他们的值是无法传递的!
async function test () {
    nameStorage = await Vue.prototype.$uniGetStorage("name");
    console.log("异步当前环境:", nameStorage); //输出结果【异步当前环境: 异步存储值】
}

test();

console.log("同步环境", nameStorage); // 输出结果:【同步环境 同步初始化值】

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值