微信小程序> 小程序setData函数深入分析

小程序setData函数深入分析

浏览量:556 时间: 来源:gyl123d

官方文档可以知道

小程序

setData函数改变Page的data是同步的,会异步通知视图层data的改变,视图层收到通知后进行渲染。即官方文档里生命周期的Send Data箭头(下图)

小程序

callback分析

先上代码:

Page({  data: {    theData: 1  },  onLoad: function(options) {    console.log("data begin:" + this.data.theData);    this.setData({      theData: 2    }, () = {      console.log("callback");    });    console.log("data after:" + this.data.theData);    /*长耗时*/    for (var i = 0; i  1000000; i++) {      for (var j = 0; j  2000; j++) {        j++;      }    }    console.log("data long after:" + this.data.theData);  }})

结果:
小程序

结论:
1、callback回调函数并不是视图层渲染成功后的回调,而是Page的data改变完成就执行callback。
2、从long after会比callback早打印可知,setData实际上是一个异步代码段(js单线程概念先理解好),只有for和long after打印后,console.log(“callback”);才会执行

版权声明

即速应用倡导尊重与保护知识产权。如发现本站文章存在版权问题,烦请提供版权疑问、身份证明、版权证明、联系方式等发邮件至197452366@qq.com ,我们将及时处理。本站文章仅作分享交流用途,作者观点不等同于即速应用观点。用户与作者的任何交易与本站无关,请知悉。

产品经理

手机 : 13312967497

擅长 : 小程序流量变现

扫码领取礼包

热门模板

  • 头条
  • 搜狐
  • 微博
  • 百家
  • 一点资讯
  • 知乎