Anonim

Secara default, permintaan $ .ajax di jQuery diatur ke asinkron. Nama variabel adalah async dan nilainya diatur ke true. Ini memberi saya sedikit kebingungan juga ketika pertama kali belajar tentang itu, jadi mari kita membahasnya.

Asinkron vs. Sinkron

Pengaturan default di jQuery. Dalam pengalaman saya, Asynchronous hampir selalu melakukan trik. Ada juga 2 situasi khususnya yang bahkan tidak memungkinkan untuk panggilan sinkron.

  • Permintaan lintas domain. Jika saya melakukan permintaan ajax dari techjunkie.com ke file di whereever.com (domain yang sama sekali berbeda), itu akan menjadi permintaan lintas domain.
  • jsonp - Jika Anda mencari untuk mengambil lintas-domain data JSON, JSONP adalah yang Anda cari.

Kapan menggunakan Sinkron

Anda harus terlebih dahulu menyadari bahwa pengaturan async ke false akan membekukan browser Anda. Terkunci sepenuhnya. Bukan hanya halaman Anda, tetapi setiap halaman yang mungkin dibuka pengguna. Misalnya, jika server Anda melambat saat diminta, Anda telah secara efektif menonaktifkan browser mereka sampai server Anda memiliki kesempatan untuk mengejar ketinggalan dan meneruskan data yang dibutuhkan.

Alih-alih mengambil risiko dengan panggilan sinkron, cukup tentukan fungsi panggilan balik pada keberhasilan atau kesalahan. Anda sampai ke titik akhir yang sama tanpa merusak pengalaman menjelajah pengguna. Singkatnya, jangan gunakan panggilan sinkron. Ini buruk untuk aplikasi Anda dan UX.

Perbedaan antara sinkron dan asinkron dalam ajax