关于 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
    }
)
相关推荐
a17798877123 小时前
小程序上传图像失败
小程序·c#
花卷HJ10 小时前
微信小程序国际化完整方案
微信小程序·小程序·notepad++
2501_9160088910 小时前
2026 iOS 证书管理,告别钥匙串依赖,构建可复制的签名环境
android·ios·小程序·https·uni-app·iphone·webview
nhc08810 小时前
贵阳纳海川科技・上门洗车行业解决方案
科技·微信小程序·软件开发·小程序开发
土土哥V_araolin11 小时前
十二星商城小公排系统开发
小程序·个人开发·零售
hashiqimiya11 小时前
微信小程序--动态切换登录注册标签页
微信小程序·小程序
hashiqimiya11 小时前
微信小程序--获取验证码设计倒计时灰白色
微信小程序·小程序
weixin_lynhgworld14 小时前
电商营销新风口,淘宝扭蛋机小程序引爆流量与转化
小程序
2501_9339072115 小时前
宁波小程序公司提供专业的小程序开发服务
科技·微信小程序·小程序
杰建云16716 小时前
小程序搭建如何影响企业数字化转型
小程序·小程序制作