大学生新闻网,大学生新闻发布平台
大学生新闻网
大学生新闻大学生活校园文学大学生村官
社会实践活动社会实践经历社会实践报告社会实践总结社会实践心得
全国排名校友会版软科排名分类排名本科排名一本排名二本排名专科排名学校地址
求职简历职场法则面试技巧职场故事求职招聘大学生就业
英语学习计算机学习电气工程机械工程经济管理建筑设计财务会计
申请书证明书检讨书自荐信演讲稿心得体会调查报告读后感求职信推荐信其它范文

小程序延迟执行wx.nextTick

wx.nextTick(function callback)
基础库 2.2.3 开始支持,低版本需做兼容处理。
小程序插件:支持,需要小程序基础库版本不低于 2.7.1
微信 Windows 版:支持
微信 Mac 版:支持
延迟一部分操作到下一个时间片再执行。(类似于 setTimeout)

参数
function callback
说明
因为自定义组件中的 setData 和 triggerEvent 等接口本身是同步的操作,当这几个接口被连续调用时,都是在一个同步流程中执行完的,因此若逻辑不当可能会导致出错。

一个极端的案例:当父组件的 setData 引发了子组件的 triggerEvent,进而使得父组件又进行了一次 setData,期间有通过 wx:if 语句对子组件进行卸载,就有可能引发奇怪的错误,所以对于不需要在一个同步流程内完成的逻辑,可以使用此接口延迟到下一个时间片再执行。

示例代码

Component({
  doSth() {
    this.setData({ number: 1 }) // 直接在当前同步流程中执行
 
    wx.nextTick(() => {
      this.setData({ number: 3 }) // 在当前同步流程结束后,下一个时间片执行
    })
 
    this.setData({ number: 2 }) // 直接在当前同步流程中执行
  }
})
    作者:大学生新闻网    来源:大学生新闻网
    发布时间:2025-04-06    阅读:
    扫一扫 分享悦读
  • 小程序开始下拉刷新
  • 开始下拉刷新。调用后触发下拉刷新动画,效果与用户手动下拉刷新一致。
  • 04-06 关注:0