我有一个输入字段可以进行实时搜索。它被设置为每次按键时它都会执行一个store.findQuery来激活api请求。我注意到使用它时我需要在执行每个新的findQuery时取消对api的挂起的ajax调用。由于搜索查询已更改,最终会出现与请求无关的负载。有谁知道怎么做?
答案 0 :(得分:0)
没有内置方法可以做到这一点。对于此类用途,ajax调用本身不会返回给您。我建议去除你的查找请求,以避免发出大量无用的请求。
App.IndexController = Em.Controller.extend({
foo:undefined,
callsToSearch: 0,
actualSearch: 0,
watchFoo: function(){
this.incrementProperty('callsToSearch');
//context, method, time that must elapse before calling method
Em.run.debounce(this, this.doSearch, 300);
}.observes('foo'),
doSearch: function(){
this.incrementProperty('actualSearch');
// do the actual search here
}
});