javascript - Apakah yang perlu saya lakukan jika masa kembali antara muka tidak konsisten apabila menggunakan kawalan seperti _.debounce untuk menangguhkan panggilan ajax?
漂亮男人
漂亮男人 2017-07-05 10:47:21
0
1
1152

Acara onChange dalam input react terikat pada kaedah handleOnchange Selepas kaedah ini dipanggil, panggilan ajax ditangguhkan Jika pengguna memasuki "Glory of the King", disebabkan masalah kelajuan menaip, dua permintaan untuk "King of Glory. " dan "Raja Kemuliaan" mungkin dihantar pada akhirnya. "Kemuliaan Raja". .

Pada masa ini, permintaan "Raja Kemuliaan" yang pertama mengambil masa lebih lama untuk dikembalikan daripada permintaan "Raja Kemuliaan" kedua Kemudian hasil pemaparan terakhir ialah pengguna melihat bahawa kotak input ialah "Raja Kemuliaan", tetapi hasilnya adalah "Raja Kemuliaan".

Adakah terdapat sebarang penyelesaian teknikal untuk mengelakkan situasi ini?

漂亮男人
漂亮男人

membalas semua(1)
ringa_lee

1. Gunakan ajax segerak (escape)
2 Hasil yang dikembalikan oleh latar belakang membawa kata kunci yang diminta, dan membandingkannya dengan nilai input semasa
3 Kekalkan ID kenaikan automatik, bawakannya dengan setiap permintaan, dan tambah itu ke medan yang dikembalikan oleh permintaan. Kembalikan id ini Jika id yang dikembalikan adalah konsisten dengan id halaman semasa, gunakan data, jika tidak, buangkannya

$.getJSON('xxx.json?id=1') 
返回数据里  {id:1,data: {...}}

Ringkasnya, pilihan 3 adalah yang paling serba boleh Jika terdapat berbilang syarat pertanyaan bentuk pada halaman, pilihan 2 akan menjadi sangat menyakitkan.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan