2014-11-01 47 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