3
У меня есть окно с множеством комбо с автозагрузкой по умолчанию = false. Я хочу, чтобы ждать все комбо в моем окне загружается после этого я покажу окно, какExtjs 4.1 - Как загрузить весь магазин в комбо
var arrCombos = window.query('combo');
Ext.each(arrCombos, function(combo){
combo.getStore().load(); // load
});
WaitForFunction(arrCombos); // wait for loading done
window.show(); // show my window
Вот мой WaitForFunction
function WaitForFunction(arrCombos) {
var all = 1;
Ext.each(arrCombos, function(combo){
if (combo.store.isLoading()) {
all = 0;
}
});
if (all == 0){
setTimeout(WaitForFunction(arrCombos), 100);
}
}
Но не получится, что сказал too much recursion
Как я могу сделать это благодарственное.
'SetTimeout (WaitForFunction (arrCombos), 100)' 'звонит WaitForFunction' немедленно и передавая возвращаемое значение' setTimeout'. Что вы имели в виду: 'setTimeout (function() {WaitForFunction (arrCombos)}, 100)'. Я думаю, что ваш код работал бы так ... Но подход sra, основанный на событиях и счетчике, лучше, потому что он не будет ждать никаких ненужных ms. – rixo
@rixo yeah thank u. Мой код работает, но он не работает хорошо :) Я использую sra's код, и это хорошо – freestyle