nextTick
该 API 使用方法为 wx.nextTick(function callback)
功能说明:延迟一部分操作到下一个时间片再执行(类似于 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 })
}
})
本页内容是否解决了您的问题?