Как значение переменной «обновлено», может быть изменено в коде ниже из обратного вызова.Невозможно изменить переменную из обратного вызова в ExtJs
Почему переменная 'updated' не изменяется в следующем порядке (то есть, она возвращает false при каждом вызове функции)?
updateData:function()
{
var updated = false;
var store = new Ext.getStore('MyStore');
store.load({
scope: this,
callback: function(records, operation, success) {
if(/*some condition*/){
updated=true;
}
}
});
return updated ;
}
Я полагаю, что эта функция возвращает false каждый раз, потому что 'store.load()' (я предполагаю, что вы используете удаленный прокси) является асинхронным вызовом, и вы просто определяете переменную 'update', вызываете' load' и возвращаете 'update' переменная. Таким образом, хранилище еще не загружено, а 'update' по-прежнему является ложным. –
@SergeyNovikov yes you r right, я использую удаленный прокси –
Ну, я описал, как образец кода ur действительно работает. переменная 'updated' изменена на true, но при запуске функции' callback'. –