Sekarang mari kita atasi masalahnya.
Sepertinya masalah.
Ayah kami mengirim permintaan untuk setiap penekanan tombol yang mungkin tidak ingin kami lakukan karena kami mengirim spam ke
server kami dengan permintaan.
Jika kita melakukannya, mungkin akan lebih baik jika kita mengatur beberapa timer dan jika timer kedaluwarsa kita periksa apakah input
saat ini dalam hal ini.
Baik input di sini sama dengan di awal timer dan hanya jika itu sama.
Kami tahu bahwa telah ada jeda dalam pengetikan yang lulus pengguna dan oleh karena itu kami mungkin ingin
mengirim permintaan yang tidak jelas apa yang saya maksud.
Baiklah, saya tunjukkan.
Inilah efek kami dan pada akhirnya di sini kami mengambil data.
Sekarang di awal fakta sekarang saya akan benar-benar menggunakan set time out yang merupakan fungsi javascript normal
tidak ada hubungannya dengan kait tentu saja untuk mengatur timer.
Katakanlah timer adalah 500 milidetik dan Anda dapat menggunakan nilai apa pun 1.
Sekarang saya ingin menunggu pengguna berhenti mengetik selama 500 milidetik dan hanya jika itu terjadi.
Saya ingin mengirim permintaan.
Jadi dalam fungsi anonim ini yang lewat di sini sebagai argumen pertama untuk menetapkan waktu yang
merupakan fungsi yang dijalankan setelah lima ratus milidetik berani saya ingin mengirim permintaan itu jadi saya akan memindahkan
semua logika untuk membangun kueri dan mengirimkan permintaan itu ke dalam mengatur fungsi batas waktu.
Jadi itu akan terjadi setelah 500 milidetik sekarang tentu saja kita hanya menunda ini di mana kita tidak
benar-benar melakukan hal lain.
Sebagai gantinya kita harus memastikan bahwa kita juga memeriksa setelah lima milidetik ini.
Jadi alih-alih fungsi yang kami lewati untuk menetapkan batas waktu jika nilai yang dimasukkan filter sama dengan nilai yang
dimasukkan, lima ratus milidetik, saya pergi.
Bagaimana kita bisa melakukan itu.
Untuk itu, penting untuk memahami bagaimana penutupan bekerja di filter yang dimasukkan JavaScript di sini akan
benar-benar terkunci ketika kita mengatur timer.
Jadi itu tidak akan menjadi nilai yang dimasukkan pengguna setelah waktu ini kedaluwarsa.
Ini akan menjadi nilai yang dimasukkan pengguna saat kami mengatur timer ini.
Itu penting itulah cara kerja javascript.
Jadi filter yang dimasukkan di sini tidak akan menjadi nilai saat ini yang dimasukkan pengguna.
Ini akan menjadi nilai lama 500 milidetik yang lalu pada dasarnya ketika efek penggunaan dieksekusi.
Dan ketika kita kemudian mengatur waktu atau tanggal untuk apa yang dimasukkan filter tidak akan
menjadi input saat ini dari yang lama jadi katakan sekarang.
Saya juga perlu yang sekarang untuk membandingkan apa yang saat ini di input dengan apa yang dimasukkan pengguna 500 milidetik yang lalu
dan hanya jika itu sama saya tahu.
BAIK.
Tampaknya ini adalah nilai yang ingin dicapai pengguna, setidaknya dengan pengetikan yang lulus pengguna, jadi
sekarang saatnya mengirim permintaan HDP.
Jadi kita perlu membandingkannya.
Tetapi bagaimana kita sampai ke nilai saat ini.
Yah kita mendapatkan nilai saat ini dengan sesuatu yang juga Anda pelajari dalam kursus ini dengan referensi referensi
untuk reaksi yang juga memiliki referensi penggunaan kait.
Ini memungkinkan kami untuk membuat referensi hanya dengan memanggil use ref.
Dan Anda dapat menyimpannya di konsol katakanlah input ref seperti mati bahwa Anda dapat menetapkan
ini ke elemen DOM yang hanya pergi ke elemen dalam kasus kami input di sana-sini menambahkan properti
ref ref prop prop khusus didukung dengan mereaksi dan menunjuk input ref.
Sekarang kita membuat hubungan antara input ini di sini apakah elemen input dan variabel ref input atau konstan
di sini kita sekarang dapat menggunakan ini di sini dan membandingkannya input arus ref adalah untuk elemen saat ini adalah properti ref hanya memiliki
objek ref ini hanya memiliki ini akan menjadi elemen input Oleh karena itu di sini
kita dapat memeriksa nilai jika nilai itu dan ayah akan menjadi nilai saat ini karena input ref didefinisikan
di luar penutupan sehingga tidak dikunci atau semacamnya.
Jadi itulah nilai saat ini yang dimasukkan dalam input jika kematian sama dengan nilai yang
dimasukkan ketika kita mengatur timer maka kita tahu nilainya tidak berubah di antara atau setidaknya sekarang sama dengan
di awal timer .
Jadi sebenarnya ada di pensil sekali lagi ini sebenarnya ada di sana bukan
pernyataan ini jika kita ingin membangun bahwa Korea mengirim permintaan Sekarang satu catatan penting di sini masukan ref.
Oleh karena itu sekarang tentu saja semua adalah ketergantungan dari efek kami di sini karena saya menggunakan input ref efek India dan oleh karena
itu itu semua untuk ditambahkan.
Input ref di sini untuk memastikan bahwa kami juga menjalankan kembali efek jika kami harus mengubah apa yang disimpan
dalam input ref dengan itu.
Mari kita simpan ini dan sekarang izinkan saya mencoba mengetik dan itu sepertinya berhasil.
Saya dapat memfilter tetapi kita akan melihat sesuatu yang menarik jika kita melihat pada tab jaringan yang dihapus adalah Anda
melihat saat saya mengetik selama saya terus mengetik.
Tidak ada permintaan yang dikirim.
Hanya jika saya membuat pass singkat, permintaan dikirim.
Jadi jika apel sensasi itu hanya dikirim setelah saya berhenti mengetik selama 5 milidetik, kami akan memiliki masalah.
Saat ini kami tidak melakukan ini dengan sempurna.
Kami sedang mengatur timer tetapi perlu diingat bahwa kami mengatur timer baru setiap kali efeknya mulai berlaku.
Masih berjalan pada akhirnya setiap kali input kami berubah, jadi kami mengatur banyak penghitung waktu yang semuanya
dikelola secara independen.
Bukan itu yang ingin kita dengar.