Разве мы не можем делать синхронные звонки с Ext.data.Store?
У меня есть модель, которую я загружаю в магазине. Позже я связываю это с комбобоксом. Этот поток работает отлично.
Но когда я хочу установить значение combo для выбора по умолчанию, я получаю сообщение об ошибке JS о том, что внутри магазина нет элементов. Причина в том, что ajax-вызов для заполнения хранилища выполняется после того, как весь JS выполнен. Я попытался сделать свойство async равным false, но все равно не повезло !!!
Вот мой фрагмент кода:
var store = new Ext.data.Store({
proxy: {
type: 'ajax',
url: '/GetAccounts',
reader: {
type: 'json'
}
},
async: false, //Tried this...no luck
cache: false,
autoLoad: true
});
var simpleCombo = Ext.create('Ext.form.field.ComboBox', {
fieldLabel: 'For ',
renderTo: 'simpleCombo',
displayField: AccountName,
valueField: 'AccountId',
store: store,
queryMode: 'local',
forceSelection: true
});
simpleCombo.setValue(store.getAt(0).get('AccountId')); //JS ERROR AT THIS LINE. No elements in the store