1 00:00:02,340 --> 00:00:04,200 Sekarang mari kita atasi masalahnya. 2 00:00:04,290 --> 00:00:05,610 Sepertinya masalah. 3 00:00:05,610 --> 00:00:10,410 Ayah kami mengirim permintaan untuk setiap penekanan tombol yang mungkin tidak ingin kami lakukan karena kami mengirim spam ke 4 00:00:10,410 --> 00:00:11,670 server kami dengan permintaan. 5 00:00:11,670 --> 00:00:18,750 Jika kita melakukannya, mungkin akan lebih baik jika kita mengatur beberapa timer dan jika timer kedaluwarsa kita periksa apakah input 6 00:00:18,750 --> 00:00:20,560 saat ini dalam hal ini. 7 00:00:20,580 --> 00:00:25,800 Baik input di sini sama dengan di awal timer dan hanya jika itu sama. 8 00:00:25,800 --> 00:00:31,120 Kami tahu bahwa telah ada jeda dalam pengetikan yang lulus pengguna dan oleh karena itu kami mungkin ingin 9 00:00:31,120 --> 00:00:33,870 mengirim permintaan yang tidak jelas apa yang saya maksud. 10 00:00:33,870 --> 00:00:34,930 Baiklah, saya tunjukkan. 11 00:00:35,010 --> 00:00:40,010 Inilah efek kami dan pada akhirnya di sini kami mengambil data. 12 00:00:40,320 --> 00:00:45,030 Sekarang di awal fakta sekarang saya akan benar-benar menggunakan set time out yang merupakan fungsi javascript normal 13 00:00:45,030 --> 00:00:47,960 tidak ada hubungannya dengan kait tentu saja untuk mengatur timer. 14 00:00:47,990 --> 00:00:52,810 Katakanlah timer adalah 500 milidetik dan Anda dapat menggunakan nilai apa pun 1. 15 00:00:52,860 --> 00:00:58,580 Sekarang saya ingin menunggu pengguna berhenti mengetik selama 500 milidetik dan hanya jika itu terjadi. 16 00:00:58,770 --> 00:00:59,760 Saya ingin mengirim permintaan. 17 00:00:59,760 --> 00:01:04,840 Jadi dalam fungsi anonim ini yang lewat di sini sebagai argumen pertama untuk menetapkan waktu yang 18 00:01:04,840 --> 00:01:10,380 merupakan fungsi yang dijalankan setelah lima ratus milidetik berani saya ingin mengirim permintaan itu jadi saya akan memindahkan 19 00:01:10,380 --> 00:01:15,430 semua logika untuk membangun kueri dan mengirimkan permintaan itu ke dalam mengatur fungsi batas waktu. 20 00:01:15,930 --> 00:01:21,350 Jadi itu akan terjadi setelah 500 milidetik sekarang tentu saja kita hanya menunda ini di mana kita tidak 21 00:01:21,370 --> 00:01:22,810 benar-benar melakukan hal lain. 22 00:01:22,810 --> 00:01:28,630 Sebagai gantinya kita harus memastikan bahwa kita juga memeriksa setelah lima milidetik ini. 23 00:01:28,690 --> 00:01:36,240 Jadi alih-alih fungsi yang kami lewati untuk menetapkan batas waktu jika nilai yang dimasukkan filter sama dengan nilai yang 24 00:01:36,250 --> 00:01:39,150 dimasukkan, lima ratus milidetik, saya pergi. 25 00:01:39,250 --> 00:01:40,610 Bagaimana kita bisa melakukan itu. 26 00:01:40,780 --> 00:01:46,330 Untuk itu, penting untuk memahami bagaimana penutupan bekerja di filter yang dimasukkan JavaScript di sini akan 27 00:01:46,330 --> 00:01:48,750 benar-benar terkunci ketika kita mengatur timer. 28 00:01:49,120 --> 00:01:53,610 Jadi itu tidak akan menjadi nilai yang dimasukkan pengguna setelah waktu ini kedaluwarsa. 29 00:01:53,680 --> 00:01:57,010 Ini akan menjadi nilai yang dimasukkan pengguna saat kami mengatur timer ini. 30 00:01:57,040 --> 00:01:59,100 Itu penting itulah cara kerja javascript. 31 00:01:59,110 --> 00:02:02,850 Jadi filter yang dimasukkan di sini tidak akan menjadi nilai saat ini yang dimasukkan pengguna. 32 00:02:02,920 --> 00:02:08,380 Ini akan menjadi nilai lama 500 milidetik yang lalu pada dasarnya ketika efek penggunaan dieksekusi. 33 00:02:08,560 --> 00:02:13,360 Dan ketika kita kemudian mengatur waktu atau tanggal untuk apa yang dimasukkan filter tidak akan 34 00:02:13,360 --> 00:02:16,910 menjadi input saat ini dari yang lama jadi katakan sekarang. 35 00:02:17,160 --> 00:02:23,360 Saya juga perlu yang sekarang untuk membandingkan apa yang saat ini di input dengan apa yang dimasukkan pengguna 500 milidetik yang lalu 36 00:02:23,370 --> 00:02:25,390 dan hanya jika itu sama saya tahu. 37 00:02:25,530 --> 00:02:25,730 BAIK. 38 00:02:25,740 --> 00:02:30,780 Tampaknya ini adalah nilai yang ingin dicapai pengguna, setidaknya dengan pengetikan yang lulus pengguna, jadi 39 00:02:30,780 --> 00:02:32,820 sekarang saatnya mengirim permintaan HDP. 40 00:02:32,820 --> 00:02:33,920 Jadi kita perlu membandingkannya. 41 00:02:33,930 --> 00:02:37,800 Tetapi bagaimana kita sampai ke nilai saat ini. 42 00:02:37,800 --> 00:02:44,520 Yah kita mendapatkan nilai saat ini dengan sesuatu yang juga Anda pelajari dalam kursus ini dengan referensi referensi 43 00:02:45,730 --> 00:02:49,010 untuk reaksi yang juga memiliki referensi penggunaan kait. 44 00:02:49,030 --> 00:02:53,230 Ini memungkinkan kami untuk membuat referensi hanya dengan memanggil use ref. 45 00:02:53,230 --> 00:02:58,840 Dan Anda dapat menyimpannya di konsol katakanlah input ref seperti mati bahwa Anda dapat menetapkan 46 00:02:58,840 --> 00:03:04,930 ini ke elemen DOM yang hanya pergi ke elemen dalam kasus kami input di sana-sini menambahkan properti 47 00:03:05,370 --> 00:03:10,190 ref ref prop prop khusus didukung dengan mereaksi dan menunjuk input ref. 48 00:03:10,210 --> 00:03:16,900 Sekarang kita membuat hubungan antara input ini di sini apakah elemen input dan variabel ref input atau konstan 49 00:03:16,900 --> 00:03:25,550 di sini kita sekarang dapat menggunakan ini di sini dan membandingkannya input arus ref adalah untuk elemen saat ini adalah properti ref hanya memiliki 50 00:03:25,550 --> 00:03:31,310 objek ref ini hanya memiliki ini akan menjadi elemen input Oleh karena itu di sini 51 00:03:31,370 --> 00:03:38,140 kita dapat memeriksa nilai jika nilai itu dan ayah akan menjadi nilai saat ini karena input ref didefinisikan 52 00:03:38,260 --> 00:03:41,580 di luar penutupan sehingga tidak dikunci atau semacamnya. 53 00:03:41,680 --> 00:03:46,780 Jadi itulah nilai saat ini yang dimasukkan dalam input jika kematian sama dengan nilai yang 54 00:03:46,780 --> 00:03:52,810 dimasukkan ketika kita mengatur timer maka kita tahu nilainya tidak berubah di antara atau setidaknya sekarang sama dengan 55 00:03:52,810 --> 00:03:54,580 di awal timer . 56 00:03:54,580 --> 00:04:00,760 Jadi sebenarnya ada di pensil sekali lagi ini sebenarnya ada di sana bukan 57 00:04:01,090 --> 00:04:08,760 pernyataan ini jika kita ingin membangun bahwa Korea mengirim permintaan Sekarang satu catatan penting di sini masukan ref. 58 00:04:08,860 --> 00:04:16,570 Oleh karena itu sekarang tentu saja semua adalah ketergantungan dari efek kami di sini karena saya menggunakan input ref efek India dan oleh karena 59 00:04:17,760 --> 00:04:19,720 itu itu semua untuk ditambahkan. 60 00:04:20,690 --> 00:04:27,680 Input ref di sini untuk memastikan bahwa kami juga menjalankan kembali efek jika kami harus mengubah apa yang disimpan 61 00:04:27,680 --> 00:04:29,590 dalam input ref dengan itu. 62 00:04:29,660 --> 00:04:36,780 Mari kita simpan ini dan sekarang izinkan saya mencoba mengetik dan itu sepertinya berhasil. 63 00:04:36,780 --> 00:04:43,050 Saya dapat memfilter tetapi kita akan melihat sesuatu yang menarik jika kita melihat pada tab jaringan yang dihapus adalah Anda 64 00:04:43,440 --> 00:04:46,080 melihat saat saya mengetik selama saya terus mengetik. 65 00:04:46,080 --> 00:04:47,350 Tidak ada permintaan yang dikirim. 66 00:04:47,370 --> 00:04:50,930 Hanya jika saya membuat pass singkat, permintaan dikirim. 67 00:04:51,950 --> 00:05:00,620 Jadi jika apel sensasi itu hanya dikirim setelah saya berhenti mengetik selama 5 milidetik, kami akan memiliki masalah. 68 00:05:00,760 --> 00:05:03,460 Saat ini kami tidak melakukan ini dengan sempurna. 69 00:05:03,460 --> 00:05:09,080 Kami sedang mengatur timer tetapi perlu diingat bahwa kami mengatur timer baru setiap kali efeknya mulai berlaku. 70 00:05:09,400 --> 00:05:15,850 Masih berjalan pada akhirnya setiap kali input kami berubah, jadi kami mengatur banyak penghitung waktu yang semuanya 71 00:05:15,850 --> 00:05:17,280 dikelola secara independen. 72 00:05:17,320 --> 00:05:19,140 Bukan itu yang ingin kita dengar.