Secara default, permintaan $ .ajax di jQuery diatur ke asynchronous. Nama variabel adalah async dan nilainya diatur ke true. Ini memberi saya sedikit kebingungan juga ketika pertama kali belajar tentang hal itu, jadi mari kita membahasnya.
Asynchronous vs. Synchronous
Pengaturan standar di jQuery. Menurut pengalaman saya, Asynchronous hampir selalu melakukan trik. Ada juga 2 situasi khusus 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 benar-benar berbeda), itu akan menjadi permintaan lintas domain.
- jsonp - Jika Anda mencari untuk mengambil cross-domain data JSON, JSONP adalah yang Anda cari.
Kapan menggunakan Sinkron
Anda harus terlebih dahulu menyadari bahwa menyetel async ke false membekukan browser Anda. Itu menguncinya, sepenuhnya. Bukan hanya halaman Anda, tetapi setiap halaman yang telah dibuka pengguna. Misalnya, jika server Anda memperlambat permintaan menengah, Anda telah menonaktifkan browsernya secara efektif hingga server Anda memiliki kesempatan untuk mengejar dan meneruskan data yang dibutuhkan.
Daripada mempertaruhkannya dengan panggilan sinkron, cukup tentukan fungsi callback pada keberhasilan atau kesalahan. Anda mendapatkan titik akhir yang sama tanpa merusak pengalaman penelusuran pengguna. Singkatnya, jangan gunakan panggilan sinkron. Ini buruk untuk aplikasi dan UX Anda.