2014-11-01 50 views
2

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

回答

3

async只是在一段时间过去后执行任务。

job与此类似,但如果job在时间段过去之前再次使用相同的作业名称被调用,则定时器将被重置。

在上面的例子中,如果labelChanged被快速连续多次调用,job确保回调只被调用一次。

有时job所做的称为debouncing。呃,也许我们应该叫它反弹

+0

哦,我明白了!谢谢你的解释! – 2014-11-02 04:01:46

+2

从Polymer 1.0开始,'job'已被重命名为'debounce'。 – donnapep 2015-06-03 20:00:33