如何取消所有网格存储XHR请求但最后[dojo dgrid]?

时间:2014-05-06 15:42:40

标签: dojo store abort dgrid

我正在使用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);
    },

1 个答案:

答案 0 :(得分:0)

如果您在每次按键时都响应用户输入,我建议您不要寻求取消请求,而是去抖动输入。为此,dgrid在debounce中有一个名为dgrid/util/misc的实用程序函数。去抖是指听取事件的做法,但只有在事件停止射击一段时间后才会响应。

有关详细信息,请参阅https://github.com/SitePen/dgrid/wiki/misc