关于 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
    }
)
相关推荐
黄华SJ520it38 分钟前
青蓝送水类型社交裂变小程序系统技术拆解
小程序·系统开发
weikecms12 小时前
星巴克API接口,星巴克点餐接口开发
大数据·小程序
2501_9159090617 小时前
全面解析iOS应用上架到App Store的完整流程与关键注意事项
android·macos·ios·小程序·uni-app·cocoa·iphone
千舟软件19 小时前
千舟软件介绍 | 顺便聊聊我们做了哪些产品
大数据·数据库·科技·小程序·业界资讯
laboratory agent开发20 小时前
2026小程序系统多维度技术与落地能力深度解析
微信小程序
2501_915106321 天前
iOS 证书类型及作用说明 账号证书与签名配置的完整解读
android·ios·小程序·https·uni-app·iphone·webview
凡泰AI1 天前
如何通过小程序多端框架,让一个小程序同时运行在iOS、安卓、鸿蒙以及PC客户端,实现一次开发多端运行的效果
android·ios·小程序
sunywz1 天前
【从零搭建物联网智能充电桩系统】4、Netty WebSocket 服务:小程序实时推送背后的长连接管理
物联网·websocket·小程序
sunywz1 天前
【从零搭建物联网智能充电桩系统】系列导读:从硬件到小程序的完整链路
物联网·小程序
资质小秘书2 天前
2026 年 8 月行业科普:小程序商家需要北京 ICP 许可证吗?
其他·小程序