js newbie here!
我已阅读the description of job,但仍然对使用this.async(function(){...}, 500)
的区别感到困惑,首先清除this.toastTimeout1
(我还没有写任何代码延迟到以前的一些任务,不熟悉这项技术)?当我正在阅读core-tooltip.html
时,我找到了一段代码:
labelChanged: function(oldVal, newVal) {
this.job('positionJob', this.setPosition);
},
为什么不直接拨打this.serPosition
?
答案 0 :(得分:3)
async
只是在一段时间过后执行任务。
job
类似,但如果在时间段过去之前使用相同的作业名称再次调用job
,则会重置计时器。
在上面的示例中,如果快速连续多次调用labelChanged
,job
会确保仅调用setPosition
回调一次。
有时job
所做的就是debouncing。嗯,也许我们应该把它叫做 debounce 。