微信小程序提供了一个API wx.nextTick 。这个API的作用就是把一些操作延迟到下一个时间片再执行。
诚如微信小程序文档中所说,类似于 setTimeout。但是,如果和setTimeout完全一样,这个API就完全没必要了。
和setTimeout不同,setTimeout 是指定了一个延迟时间,而wx.nextTick 是保住在 “下一个时间片” 执行。
一个典型的场景,更新界面 setData 后,需要紧接着操作界面,“操作界面”这个动作显然必须在“界面”更新完成后,再执行。如果,使用 setTimeout 只能延迟一个估计的时间,短了会有bug,长了效果会打折扣。这时候,使用 wx.nextTick 就比较好了,能确保界面更新后,“立刻”执行“操作界面”的动作。
一个简单的示例:
console.log(1);
wx.nextTick(() => {
console.log(2);
})
console.log(3);
输入结果是: 1 3 2
暂无评论,抢个沙发...