Đây có thể là một câu hỏi của người mới bắt đầu, nhưng tôi không thể cho cuộc sống của tôi tìm ra.Buộc Flex cập nhật màn hình?
Tôi đang sử dụng flex để phát triển GUI cho một dự án lớn, cụ thể là thanh trạng thái dọc theo phía dưới. Trong lớp StatusBar của tôi là một ProgressBar, các lớp khác đang làm việc có thể nói để cập nhật (thay đổi hoàn thành thanh và nhãn) khi chúng tiến triển. Vấn đề tôi đang gặp phải là flex sẽ không cập nhật whats hiển thị trên màn hình cho đến khi quá muộn, ví dụ
ProgressBar khởi tạo, 0% thực hiện
một số lớp đặt ProgressBar là 12% hoàn tất
một số lớp hiện một số công việc
một số lớp đặt ProgressBar là 56% thực hiện
Whats xảy ra là 12% thực hiện không bao giờ được hiển thị, nó chỉ bị treo tại 0% trong khi làm việc, sau đó bỏ qua tới 56%. Tôi đã cố gắng để hiểu vòng đời của một thành phần flex (vô hiệu và xác nhận), và tôi nghĩ rằng tôi hiểu nó và đang áp dụng nó một cách chính xác, nhưng nó không làm việc ở tất cả. Tôi cần phải nói flex để vẽ lại Statusbar của tôi (hoặc ít nhất là trong vòng ProgressBar) sau một số lớp bộ nó được 12% thực hiện, nhưng trước khi một số lớp bắt đầu làm công việc của mình. Làm thế nào để tôi làm điều này?
Vấn đề này thực sự nên được coi là * cho phép * Flex cập nhật màn hình. Như đã chỉ ra bên dưới, Flash là một mô hình thực thi chuỗi đơn cho mã của bạn. Vì vậy, bạn cần phải chunk công việc của bạn cho phép người chơi để làm mới màn hình hiển thị giữa các khối. callLater() hoặc sử dụng bộ đếm thời gian để kiểm soát chunking mình là cơ chế cơ bản có sẵn. Hãy nhớ rằng nếu bạn làm * không * làm điều này, trình duyệt có thể sẽ chạy trình phát Flash sau 45 giây (mặc định FF) – verveguy