Mengapa Permintaan Rangkaian Perlu Dibatalkan Apabila Pengguna Meninggalkan Halaman
Aplikasi web moden sering menghantar beberapa permintaan rangkaian pada masa yang sama.
Pengguna mungkin membuka halaman carian, menukar filter dengan cepat atau berpindah ke halaman lain sebelum permintaan sebelumnya selesai.
Jika semua permintaan terus diproses, aplikasi boleh menggunakan bandwidth dan server resource secara tidak perlu.
Masalah lain ialah response lama mungkin tiba selepas response baharu.
Contohnya, pengguna mencari “AI”, kemudian segera menukar carian kepada “web development”. Jika response untuk carian pertama tiba lebih lambat, interface mungkin memaparkan hasil yang salah walaupun pengguna sudah memasukkan kata kunci baharu.
Untuk platform seperti WOW88, situasi ini boleh menjejaskan ketepatan pengalaman carian dan membuat halaman terasa tidak stabil.
Developer boleh menggunakan mekanisme pembatalan seperti AbortController untuk menghentikan permintaan yang tidak lagi diperlukan.
Apabila pengguna menukar filter, permintaan lama boleh dibatalkan sebelum request baharu dihantar.
Pendekatan ini membantu mengurangkan race condition dan mengelakkan data lama menggantikan state terkini.
Namun, pembatalan perlu dikendalikan dengan betul.
Sistem tidak sepatutnya memaparkan mesej error biasa apabila request dibatalkan secara sengaja.
Pembatalan bukan semestinya kegagalan rangkaian.
Loading indicator juga perlu dikemas kini supaya pengguna tidak melihat status “sedang memuatkan” selepas request telah dihentikan.
Untuk WOW88, pelajaran utamanya ialah performance bukan hanya tentang menghantar request lebih cepat.
Kadangkala pengalaman menjadi lebih baik apabila aplikasi tahu request mana yang tidak lagi perlu diteruskan.
Membatalkan kerja yang sudah tidak relevan boleh menjadikan interface lebih tepat, ringan dan mudah dikawal.
留言