2014-09-25 27 views
0

說我有一個core-ajax元件構造爲這樣:如何中止芯的Ajax在Polymer

<core-ajax url='/api/endpoint' response='{{handler}}'></core-ajax> 

說我發生在比逆響應時間更高的頻率打API。

如何確保handler只有在最後一次調用api時纔會觸發,而不管返回順序如何?基本上,當我撥打新的電話時,我想忽略所有之前還沒有返回的呼叫。要做到這一點

+0

可能與[此問題]有些相關(https://github.com/Polymer/core-ajax/issues/12) – Renaud 2014-09-25 12:58:33

回答

1

一種方法是用job()推下工作:

this.responseChanged =函數(){ this.job( 'JOB1',函數(){//第一arg是名稱「作業」 ... },100); //延遲迴撥100ms。如果再次調用responseChanged(),則會在100ms之後再次調用...等等。 }

文檔:http://www.polymer-project.org/docs/polymer/polymer.html#job

可以反覆調用它的超時之前,但它只會導致一個副作用。換句話說,如果responseChanged()在250ms後立即執行,它的回調將不會執行到750ms。

相關問題