小程序
小游戏
企业微信
微信支付
扫描小程序码分享
bqj_dayHTs.get().then(res=>{ this.setData({ dayHTs:res.data }) // this.oper(res.data) console.log("~~~dayHTs1",this.data.dayHTs) }) console.log("~~~dayHTs2",this.data.dayHTs)
为什么第二个变成undefined了,应该如何赋值,谢谢
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
多了解一下 js的事件循环、宏任务、微任务的执行次序,程序执行时候,请求相当于一个promise异步执行,放入微任务队列。此时setData中的值还未设定,然后执行同步代码
console.log("~~~dayHTs2",this.data.dayHTs) 此时为undefined,整个同步任务执行完之后,再去查看异步任务情况,然后在进行setData的处理,setData的设置分为视图渲染和js逻辑层
这些多了解,就知道运行的结果为什么是这个样子
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
多了解一下 js的事件循环、宏任务、微任务的执行次序,程序执行时候,请求相当于一个promise异步执行,放入微任务队列。此时setData中的值还未设定,然后执行同步代码
console.log("~~~dayHTs2",this.data.dayHTs) 此时为undefined,整个同步任务执行完之后,再去查看异步任务情况,然后在进行setData的处理,setData的设置分为视图渲染和js逻辑层
这些多了解,就知道运行的结果为什么是这个样子