Итак, у меня есть ситуация, когда после нажатия клавиши выполняется вызов ajax (с buffer:150
). Если (по какой-либо причине) ajax-вызов немного запаздывает, чтобы вернуться, нажатие клавиши во время этого процесса загрузки не может сделать еще один вызов.
Компонент представляет собой дерево, использующее загрузчик для данных. И настроен следующим образом:
дерево настроек
....
root:{
nodeType:'async',
text:'Accounts',
expanded:false,
uiProvider:false
},
loader: {
dataUrl:'dataurl',
baseParams:{},
loadexception:function(){
console.log('Failed to load QUICKSEARCH');
}
}
....
со следующим в текстовом поле
слушатель текстового поля
....
listeners:{
keyup:{buffer:150, fn:function(f, e) {
if(Ext.EventObject.ESC == e.getKey()) {
field.onTriggerClick();
}else{
var val = this.getRawValue();
thisTree = this.ownerCt.ownerCt;
thisTree.loader.baseParams.quicksearch_string = val;
thisTree.root.reload();
}
}}
}
....
В идеале я хочу иметь возможность отменить (либо полностью отменить, либо отменить прослушивание ответа) вызов и начать новый.
Так что я предполагаю, что на самом деле должен быть где-то здесь вопрос ... Так есть ли способ отменить прослушивание ранее сделанного вызова AJAX или настройку для вызова более нового вызова