关于 setData 同步异步的问题

小程序官方文档中的回答解释:

所以大概意思就是:

1.setData在逻辑层的操作是同步,因此this.data中的相关数据会立即更新,比如下面的例子:

javascript 复制代码
const a = 1
this.setData({
      b: a  ? a : '',
})
console.log(that.data.b)  // 1
  1. setData在视图层的操作是异步,因此页面渲染可能并不会立即发生。

其实从逻辑层发送到视图层的过程中相比直接在逻辑层内操作会花费更多时间,当然也存在有更多不确定,为了保证用户体验与以及减少系统开销,就将后边的操作设置为了异步。

我们有时候有些代码需要在确定 setData 引起的页面渲染完成之后执行,也可以执行渲染完成之后的回调函数,例子如下:

javascript 复制代码
this.setData({
        "a": "123"
    },
    function() {
        console.log(this.data.a)  //123
    }
)
相关推荐
说私域3 小时前
基于开源AI大模型的AI智能名片在S2B2C商城小程序维度表重复数据整理中的应用及效果研究
人工智能·小程序
云起SAAS6 小时前
图文小程序内无实质业务服务功能体验不完整解决小程序开源
小程序
毕设源码-朱学姐7 小时前
【开题答辩全过程】以 干洗店预约服务小程序为例,包含答辩的问题和答案
小程序
百锦再7 小时前
Elements Plus 跨设备自适应显示问题综合解决方案
python·flutter·小程序·uni-app·k8s·tornado·net
毕设源码-邱学长9 小时前
【开题答辩全过程】以 基于微信小程序的实验耗材申报平台的设计与实现为例,包含答辩的问题和答案
微信小程序·小程序
说私域9 小时前
基于开源AI智能名片链动2+1模式商城系统的创始人个人品牌资产构建研究
人工智能·小程序·开源
sheji34169 小时前
【开题答辩全过程】以 基于微信小程序的手机数码交易平台为例,包含答辩的问题和答案
微信小程序·小程序
计算机徐师兄9 小时前
Java基于微信小程序的社区养老保障系统
java·微信小程序·社区养老保障系统小程序·java社区养老保障系统小程序·社区养老保障系统微信小程序·社区养老保障微信小程序
项目題供诗9 小时前
微信小程序黑马优购(项目)(十二)
微信小程序·小程序
luffy545910 小时前
微信小程序组件与父页面传值示例
微信小程序·小程序