Thành viên:Nguyenthephuc/Note: Kỹ thuật tải sau

Từ VLOS
Bước tới: chuyển hướng, tìm kiếm
  • item: mỗi item gồm head và content
  • Tình huống: Mỗi trang gồm các item và có những item mà content của nó chỉ hiện thị sau khi click vào head vậy thì content của chúng cần được tải sau. Ví dụ: tiêu bản MetaBox gồm các tab = item (tên tab = head, nội dung tab = content), khi trang được tải thì chỉ có 1 item (selected) được hiện thị còn những item khác chỉ hiện khi click vào tab. Vậy những tab không được chọn (unselected) thì content của chúng cần được tải sau.
  • Lợi ích: Nếu chúng ta tải một lúc tất cả các item của một trang mà người dùng chỉ xem item selected rồi chuyển trang khác, như vậy đã bắt server làm những việc vô ích khi tải các item mà người dùng đã không xem. Kỹ thuật tải sau sẽ hạn chế tối đa sự vô ích đó.
  • Cách thực hiện: Với mỗi một trang P, sau khi P được tải, mã JS sẽ nạp các item cần tải sau của P (Client) vào hàng đợi S rồi gửi danh sách hàng đợi cho sever. Server sẽ xóa hàng đợi của trang trước đó (old P) rồi lưu hàng đợi của trang này (P) và thực thi công việc đầu tiên trong hàng đợi, trả về cho Client kết quả công việc này và item cần load tiếp theo. Nếu Client "đồng ý" load item tiếp theo thì nó sẽ gửi yêu cầu đó cho Sever, cứ thế cho đến hết hàng đợi. Chú ý rằng việc load từng item này không phải là "tuần tự theo vòng lặp", vì item tiếp theo chỉ được thực thi khi client chưa chuyển trang (nếu chuyển trang thì JS kia kết thúc và một hàng đợi S mới cho P mới lại bắt đầu)
  • Điều kiện tải item tiếp theo: chưa chuyển trang và server không bận (tổng lượng request cho phép)

Ứng dụng[sửa]

Kỹ thuật này có thể áp dụng trên VLOS cho:

  • tiêu bản:MetaBox
  • sections: một trang có nhiều sections thì nên áp dụng kỹ thuật này khi đó việc tải trang sẽ vừa nhanh vừa "tốt" cho server