我正在使用dojo dgrid 0.3.14
我有实时搜索工具栏
每次用户输入更改
searchGrid.set("store", searchStore, query);
它运行正常,但后端无序返回数据。
因此,有时网格正在刷新,之前响应缓慢。
如何取消所有网格存储XHR请求但最后一个?
DGrid的当前解决方案是
_abortQuery: function () {
// console.log("_abortQuery" , this._refreshDeferred);
if (this._refreshDeferred && this._refreshDeferred.cancel){
this._refreshDeferred.cancel();
}
return this;
},
refresh: function () {
this._abortQuery();
return this.inherited(arguments);
},
答案 0 :(得分:0)
如果您在每次按键时都响应用户输入,我建议您不要寻求取消请求,而是去抖动输入。为此,dgrid在debounce
中有一个名为dgrid/util/misc
的实用程序函数。去抖是指听取事件的做法,但只有在事件停止射击一段时间后才会响应。
有关详细信息,请参阅https://github.com/SitePen/dgrid/wiki/misc。