基础库 3.15.104 开始支持,低版本需做兼容处理。
成都创新互联专注于企业成都营销网站建设、网站重做改版、濮阳网站定制设计、自适应品牌网站建设、H5高端网站建设、电子商务商城网站建设、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为濮阳等各大城市提供网站开发制作服务。
解释:延迟一部分操作到下一个时间片再执行。(类似于 setTimeout)
Function callback
自定义组件中的 setData 和 triggerEvent 等接口为同步操作,当这几个接口被连续调用时,都是在一个同步流程中执行完的,因此若逻辑不当可能会导致出错。
举例 :当父组件的 setData 引发了子组件的 triggerEvent,进而使得父组件又进行了一次 setData,期间有通过 s-if 语句对子组件进行卸载,就有可能引发奇怪的错误,所以对于不需要在一个同步流程内完成的逻辑,可以使用此接口延迟到下一个时间片再执行。
扫码体验
代码示例
请使用百度APP扫码
在开发者工具中打开
在开发者工具中打开
在 WEB IDE 中打开
// 自定义组件逻辑 (custom.js)Component({properties: {name: {type: String,value: 'swan'}},data: {age: 1,number: ''},methods: {nextTick() {swan.showToast({title: '在控制台或者sConsole中查看执行顺序',icon: 'none'});// 直接在当前同步流程中执行this.setData({number: 1})console.log(this.data.number);swan.nextTick(() => {// 在当前同步流程结束后,下一个时间片执行this.setData({number: 3})console.log(this.data.number);})// 直接在当前同步流程中执行this.setData({number: 2})console.log(this.data.number);}}});
在开发者工具中打开
在开发者工具中打开
在 WEB IDE 中打开
{{name}}