Sự khác biệt giữa đồng bộ và không đồng bộ trong Ajax

Theo mặc định, yêu cầu $ .ajax trong jQuery được đặt thành không đồng bộ. Tên biến là không đồng bộ và giá trị được đặt thành true. Điều này đã cho tôi một chút nhầm lẫn cũng như khi lần đầu tiên tìm hiểu về nó, vì vậy chúng ta hãy đi qua nó.

Không đồng bộ so với Đồng bộ

Cài đặt mặc định trong jQuery. Theo kinh nghiệm của tôi, Asynchronous nên hầu như luôn luôn làm các trick. Ngoài ra còn có 2 tình huống đặc biệt mà thậm chí không cho phép một cuộc gọi đồng bộ.

  • Yêu cầu miền chéo. Nếu tôi đang thực hiện yêu cầu ajax từ techjunkie.com đến một tệp trên whereever.com (tên miền hoàn toàn khác), đó sẽ là yêu cầu tên miền chéo.
  • jsonp - Nếu bạn đang tìm cách truy xuất miền chéo dữ liệu JSON, JSONP là thứ bạn đang tìm kiếm.

Thời điểm sử dụng Đồng bộ

Trước tiên, bạn cần lưu ý rằng việc đặt async thành false sẽ đóng băng trình duyệt của bạn. Nó khóa nó, hoàn toàn. Không chỉ trang của bạn, nhưng mọi trang mà người dùng có thể đã mở. Ví dụ: nếu máy chủ của bạn làm chậm yêu cầu giữa, bạn đã vô hiệu hóa trình duyệt của mình một cách hiệu quả cho đến khi máy chủ của bạn có cơ hội bắt kịp và truyền dữ liệu cần thiết.

Thay vì mạo hiểm nó bằng một cuộc gọi đồng bộ, chỉ cần chỉ định một hàm gọi lại về thành công hoặc lỗi. Bạn nhận được cùng một điểm cuối mà không làm hỏng trải nghiệm duyệt của người dùng. Trong ngắn hạn, không sử dụng một cuộc gọi đồng bộ. Nó xấu cho ứng dụng của bạn và UX.

Xem Thêm