Tìm kiếm giải pháp cho sự cố do bộ dữ liệu lớn buộc Ember khóa trình duyệt trong khi nó cố gắng xử lý dữ liệu.Ember nghẹt thở khi gặp phải các bộ dữ liệu lớn
Để phân trang, tôi đang sử dụng tiện ích pagination mixin của tchak để phân trang khoảng 13.000 đối tượng đang được tải từ API phụ trợ.
Các đối tượng dữ liệu Ember chứa ID, một thuộc tính văn bản và một số thuộc tính số.
Vấn đề là phải mất gần một phút trước khi trình duyệt xử lý xong dữ liệu, làm cho trình duyệt không sử dụng được trong thời gian chờ đợi. Firefox thậm chí còn đi xa đến mức đưa ra cảnh báo rằng một tập lệnh đang sử dụng hết tất cả tài nguyên trình duyệt và cho rằng tập lệnh đó đã bị chấm dứt.
Tôi đã viết mixin phân trang của riêng mình yêu cầu các đối tượng theo phạm vi, tức là các mục 10-25 và hoạt động thường tốt ngoại trừ một giới hạn nghiêm trọng: sắp xếp. Để sắp xếp dữ liệu, tôi cần phải thực hiện các yêu cầu bổ sung cho chương trình phụ trợ và tải lại các đối tượng ngay cả khi một số đối tượng đã được tải.
Tôi rất muốn có thể tải tất cả nội dung trả trước để đơn giản hóa quá trình sắp xếp mà không cần thực hiện thêm yêu cầu đối với API phụ trợ. Tôi đang tìm kiếm hướng dẫn về cách giải quyết vấn đề này nhưng tôi mở ra một cách tiếp cận hoàn toàn thay thế.
Nếu không có gì khác, có thể giảm được dấu chân tài nguyên Ember đặt trên trình duyệt khi nó cố tải tất cả các đối tượng 13k vào ArrayController không?
Tôi đang sử dụng Ember 1.0.0-pre2 với dữ liệu Ember mới nhất (hiện tại tại Bản sửa đổi 10).
Trên chương trình phụ trợ là Rails 3.2.8.
Cập nhật Tôi tránh né vấn đề bằng cách nạp dữ liệu vào một tài sản khác hơn content
ArrayController. Điều này mang lại thời gian tải xuống từ hơn một phút đến chỉ một vài giây. Sau đó tôi cắt số lượng mục được yêu cầu và tải các mục đó vào nội dung. Điều này làm việc tốt cho bất kỳ số lượng các mặt hàng, với chi phí không thể dễ dàng sắp xếp dữ liệu.
Bạn có thể chia sẻ một số mã về giải pháp này không? Tôi đang đối mặt với cùng một vấn đề và nó sẽ là một trợ giúp lớn. –