Я делаю вот так:
var loadMask;
var verifyStoreLoads = function(){
var ret = true;
var filStore = controller.getFilialsStore();
ret = ret&&filStore.isLoadedSuccessful;
var divStore = controller.getDivisionsStore();
ret = ret&&divStore.isLoadedSuccessful;
return ret;
}
var preRun = function(){
if (!loadMask){
loadMask = new Ext.LoadMask(globaldatapanel, {msg:'Загрузка справочников...'});
loadMask.show();
}
var ret = verifyStoreLoads();
if (ret){
loadMask.hide()
loadMask.destroy();
run();
}
else
setTimeout(preRun,1000);
}
ну а в сторе вешаю слушатель
isLoaded:false,
isLoadedSuccessful:false,
listeners:{
load: function(store, records, successful, eOpts){
store.isLoaded = true;
store.isLoadedSuccessful = successful;
}
},
В итоге, пока сторы не загружены, висит сообщение "Загрузка справочников..."