Tôi có một bộ hộp tổ hợp được điều khiển bởi năm cửa hàng và tôi muốn kích hoạt chức năng khi tất cả các cửa hàng được tải hoàn toàn. Cách được khuyến nghị để làm điều này là gì? Tôi có thể làm một cái gì đó như thế này nhưng nó cảm thấy kludgy:Cách đợi cho đến khi tất cả các cửa hàng được nạp trong 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
}
Có 'isLoading()' bằng 'false' khi lưu trữ không được tải không? Nó có thể là một vấn đề? –
@o_nix bởi "chưa được tải" nghĩa là "không có hồ sơ"? Theo kinh nghiệm của tôi 'isLoading' chỉ bằng true trong khoảng thời gian giữa yêu cầu và phản hồi từ máy chủ. Vì vậy, nếu một máy chủ trả về không có hồ sơ thì nó sẽ vẫn đúng. Điều này chưa bao giờ là vấn đề đối với tôi. Điểm chính của nó đối với tôi đơn giản là biết khi nào yêu cầu quay lại. Logic khác nhau có thể được thực hiện nếu bạn muốn xử lý một phản hồi không có kết quả. – Geronimo
Để kiểm tra có thể setTimeout (me.initData, 500) sẽ hoạt động. – VAAA