关于 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
    }
)
相关推荐
小小谈电商2 小时前
2026 年 8 月|国内企业级商城源码服务商全方位测评报告
大数据·运维·小程序
ZhiMuZhiLing5 小时前
企业获客软件免安装能力横评:网页端和小程序端实测数据
大数据·小程序·流量运营·用户运营
lhldsg5 小时前
课程排课系统实战指南:从数据库设计到算法调优全流程解析
java·数据库·算法·小程序
Ai-_Man6 小时前
AI办公智能体工作平台能否电脑批量导出?我们拆解了“AI导出鸭”的底层逻辑
人工智能·ai·小程序·电脑
博、、7 小时前
课程培训系统如何选型?从架构设计到答题模块的实战经验
小程序·需求分析
编程小橘子7 小时前
基于微信小程序健康心理测试、设计与实现 (源码+lw+参考文档+核心代码讲解等)
微信小程序·小程序·毕业设计·毕设
AI行业应用研究8 小时前
2026年主流报名工具测评报告:眨眼猫会务智能体报名小程序为何成为多场景首选?
java·开发语言·小程序
v158897262019 小时前
货运搬家小程序从0到1(五):JWT 鉴权,拦截器 + ThreadLocal 用户上下文
小程序·货运小程序源码·货运小程序·搬家小程序
维双云10 小时前
2026开发小程序公司有哪些?专业团队与服务路线整理。
小程序
m0_4628038810 小时前
从产品逻辑看云分组「优先分组」如何实现培训会议按排自动分座
微信小程序