关于 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
    }
)
相关推荐
杰建云1677 小时前
微信小程序自制全流程实测与避坑指南
微信小程序·小程序
小羊Yveesss7 小时前
2026年商城小程序需要多少成本?
小程序
智慧景区与市集主理人9 小时前
巨有科技市集小程序精准匹配摊主与业态,解锁市集增收新可能
科技·小程序
kyh10033811209 小时前
微信小程序 聚合摇骰喝酒工具 完整实现(含源码)
微信小程序·小程序·摇骰子小游戏
博客zhu虎康9 小时前
小程序按钮实现先表单校验再走手机号获取功能
android·javascript·小程序
Greg_Zhong10 小时前
微信小程序中实现自定义圆形进度条
微信小程序·自定义圆形进度条
万象资讯10 小时前
2026实测|订货小程序哪个平台支持快速部署?
小程序
码云社区10 小时前
JAVA同城上门做饭系统家政上门同城服务系统源码小程序+APP+公众号+h5
java·开发语言·小程序
好赞科技10 小时前
2026年五大精选微信小程序,革新效率体验提升智能生活品质
大数据·微信小程序
杰建云16710 小时前
小程序从零搭建全流程实战指南
开发语言·小程序·php