说我有一个core-ajax
元素配置如下:
<core-ajax url='/api/endpoint' response='{{handler}}'></core-ajax>
说我碰巧以高于反向响应时间的频率命中API。
如何确保handler
仅在上次调用api时触发,无论返回顺序如何?基本上当我打个新电话时,我想忽略之前还没有回来的所有电话。
答案 0 :(得分:1)
执行此操作的一种方法是使用job()
推迟工作:
this.responseChanged = function(){
this.job('job1',function(){// first arg是“job”的名称
...
},100); //延迟回调100ms。如果再次调用responseChanged()
,那么将在100毫秒后再调用......等等。
}
文档:http://www.polymer-project.org/docs/polymer/polymer.html#job
您可以在超时前重复调用它,但它只会产生一个副作用。换句话说,如果
responseChanged()
在250ms后立即执行,则其回调将在750ms后才会执行。