Mam zestaw pól kombi, które są napędzane przez pięć sklepów i chcę uruchomić funkcję, gdy wszystkie sklepy zostaną całkowicie załadowane. Jaki jest zalecany sposób robienia tego? Mogę zrobić coś takiego, ale czuje kludgy:Jak czekać na załadowanie wszystkich sklepów w ExtJs?
var store1Loaded = false;
var store2Loaded = false;
store1.on('load', function(){
store1Loaded = true;
});
store2.on('load', function(){
store1Loaded = true;
});
store1.load();
store2.load();
function WaitForFunction()
{
if (!store1Loaded || !store2Loaded)) {
setTimeout(WaitForFunction, 100);
return;
}
AllStoresLoaded();
}
function AllStoresLoaded(){
//Do Something
}
Czy 'isLoading()' 'równa FALSE gdy sklep nie jest załadowany? Czy to może być problem? –
@o_nix według "nie załadowano" oznacza "nie ma zapisów"? Z mojego doświadczenia wynika, że 'isLoading' jest prawdziwe w czasie między żądaniem a odpowiedzią z serwera. Więc jeśli serwer nie zwróci żadnych rekordów, nadal będzie to prawda. To nigdy nie było dla mnie problemem. Głównym celem dla mnie jest po prostu wiedzieć, kiedy wniosek wraca. Można zastosować inną logikę, jeśli chcesz obsłużyć odpowiedź bez wyników. – Geronimo
W celu sprawdzenia może zadziałać setTimeout (me.initData, 500). – VAAA