Rumah  >  Soal Jawab  >  teks badan

javascript - Apakah yang perlu saya lakukan jika masa kembali antara muka tidak konsisten apabila menggunakan kawalan seperti _.debounce untuk menangguhkan panggilan ajax?

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?

漂亮男人漂亮男人2687 hari yang lalu1122

membalas semua(1)saya akan balas

  • ringa_lee

    ringa_lee2017-07-05 10:49:21

    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.

    balas
    0
  • Batalbalas