Dalam situasi ini, jalankan () adalah fungsi dari modul pihak ketiga yang saya gunakan, dan panggilan balik ini dipanggil berkali-kali pada beberapa situasi aneh. Sebagian besar kasus seperti koneksi berhasil diaktifkan dan setelah itu kesalahan dipicu. Pada saat kesalahan dipanggil, saya akan berhasil menyelesaikan semua operasi saya. Ini hanya contoh. Show
fungsi panggilan balik JavaScript; . Tetapi saya yakin bahwa setelah membaca artikel ini secara menyeluruh, Anda akan dapat mengatasi kendala apa pun yang sebelumnya Anda alami dengan panggilan balik Sebelum kita mulai, pertama-tama pastikan pemahaman kita tentang fungsi secara umum sudah kuat. Rekap Cepat. Fungsi JavascriptApa Itu Fungsi?Fungsi adalah blok bangunan logis di dalamnya sekumpulan kode ditulis untuk melakukan tugas tertentu. Secara praktis, fungsi memungkinkan penulisan kode dengan cara yang lebih terorganisir yang juga mudah di-debug dan dipelihara. Fungsi juga memungkinkan penggunaan kembali kode Anda mendefinisikan fungsi sekali dan memanggilnya saat Anda perlu tanpa menulis kode yang sama berulang kali Anda mungkin juga suka. Fungsi Panggilan Balik Javascript Mendeklarasikan FungsiKami berbicara sedikit tentang apa itu fungsi. Sekarang, mari kita lihat bagaimana mendeklarasikan suatu fungsi dalam javascript
Memanggil FungsiFungsi yang dideklarasikan sebelumnya akan dipanggil ketika salah satu dari hal berikut terjadi
Operator () memanggil fungsi Apa itu Fungsi Panggilan Balik?Sesuai MDN. Fungsi panggilan balik adalah fungsi yang diteruskan ke fungsi lain sebagai argumen, yang kemudian dipanggil di dalam fungsi luar untuk menyelesaikan semacam rutinitas atau tindakan Izinkan saya mengklarifikasi ini dengan kata-kata sederhana, fungsi panggilan balik adalah fungsi yang akan dijalankan tepat setelah fungsi lain selesai dijalankan. Fungsi panggilan balik adalah fungsi yang diteruskan sebagai argumen ke fungsi JavaScript lainnya. Fungsi panggilan balik itu dijalankan di dalam fungsi yang diteruskannya Dalam JavaScript, fungsi diperlakukan sebagai objek kelas satu; . Menjadi objek kelas satu, kita bisa meneruskan fungsi ke fungsi lain sebagai variabel, dan fungsi juga bisa dikembalikan dari fungsi lain Fungsi yang dapat melakukan ini dikenal sebagai fungsi tingkat tinggi. Fungsi panggilan balik sebenarnya adalah sebuah pola. Kata "pola" berarti semacam metodologi yang terbukti untuk memecahkan masalah umum dalam pengembangan perangkat lunak. Di sana lebih baik memanggil penggunaan fungsi panggilan balik sebagai pola panggilan balik Mengapa Kami Membutuhkan Panggilan BalikJavaScript sisi klien berjalan di browser, dan proses browser utama adalah loop peristiwa utas tunggal. Jika kami mencoba menjalankan operasi yang berjalan lama dalam loop peristiwa berutas tunggal, prosesnya diblokir. Ini secara teknis buruk karena proses berhenti memproses acara lain sambil menunggu operasi Anda selesai Misalnya, pernyataan "waspada" dianggap sebagai salah satu kode pemblokiran dalam javascript di browser. Jika Anda menjalankan lansiran, Anda tidak dapat lagi melakukan interaksi apa pun di dalam browser sampai Anda menutup jendela dialog lansiran. Untuk mencegah pemblokiran pada operasi yang berjalan lama, callback digunakan Mari selami lebih dalam sehingga Anda akan memahami dengan tepat di skenario mana panggilan balik digunakan Dalam cuplikan kode di atas, Dalam situasi tertentu, beberapa kode tidak segera dieksekusi. Misalnya, jika kita berasumsi bahwa fungsi Cara Menggunakan Fungsi CallbackDaripada memberi tahu Anda tentang sintaks fungsi panggilan balik JavaScript, saya pikir akan lebih baik jika kami mencoba menerapkan fungsi panggilan balik pada contoh kami sebelumnya. Cuplikan kode ditunjukkan di bawah ini di tangkapan layar berikut Untuk menggunakan fungsi panggilan balik, kita perlu melakukan semacam tugas yang tidak akan dapat menampilkan hasil dengan segera. Untuk meniru perilaku ini, kami menggunakan fungsi Setelah pesan ini ditampilkan, maka "Pesan yang ditampilkan" akan ditampilkan di jendela konsol browser. Dalam skenario ini, pertama-tama, kami menunggu fungsi Bagaimana Callback BekerjaIzinkan saya menjelaskan apa yang sebenarnya terjadi di balik layar pada contoh sebelumnya Seperti yang dapat Anda lihat dari contoh sebelumnya, dalam fungsi 0, yang ditampilkan di jendela konsol browser, dan argumen kedua adalah fungsi callbackSekarang, Anda mungkin bertanya-tanya mengapa fungsi panggilan balik diteruskan sebagai argumen — untuk mengimplementasikan fungsi panggilan balik, kita harus meneruskan fungsi sebagai argumen ke fungsi lain Setelah Perhatikan bahwa, saat fungsi Apakah Javascript Callback Asynchronous?JavaScript dianggap sebagai bahasa scripting single-threaded. Yang kami maksud dengan single-threaded adalah bahwa JavaScript mengeksekusi satu blok kode pada satu waktu. Saat JavaScript sibuk mengeksekusi satu blok, tidak mungkin untuk berpindah ke blok berikutnya Dengan kata lain, kita dapat mengatakan bahwa kode JavaScript selalu bersifat memblokir. Tetapi sifat pemblokiran ini mencegah kita menulis kode dalam situasi tertentu ketika kita tidak dapat memperoleh hasil langsung setelah menjalankan beberapa tugas tertentu Saya berbicara tentang tugas-tugas seperti berikut ini
Untuk menangani situasi ini, kita harus menulis kode asinkron dan fungsi callback adalah salah satu pendekatan untuk menghadapi situasi ini. Jadi, fungsi callback bersifat asinkron Neraka Panggilan Balik JavascriptCallback hell terjadi ketika beberapa fungsi asinkron dijalankan satu demi satu. Ia juga dikenal sebagai piramida malapetaka Anggap saja, Anda ingin mendapatkan daftar semua pengguna Github. Kemudian, di antara pengguna, Anda hanya ingin mencari kontributor teratas untuk repositori JavaScript. Kemudian, di antara para pengguna, Anda ingin mendapatkan detail tentang orang yang bernama John Untuk mengimplementasikan fungsi ini dengan bantuan callback, cuplikan kode akan serupa seperti yang ditunjukkan di bawah ini _Dari cuplikan kode di atas, Anda dapat melihat bahwa kode menjadi lebih sulit untuk dipahami, lebih sulit untuk dipertahankan, dan juga lebih sulit untuk dimodifikasi. Ini terjadi karena penyatuan semua fungsi callback Bagaimana Anda Menghentikan Callback Hell?Beberapa teknik dapat digunakan untuk menghindari callback hell ada sebagai berikut
Menggunakan Async. Perpustakaan jsMari kita bicara tentang bekerja dengan async. js library untuk menghindari callback hell Sesuai situs web resmi async. js. Async adalah modul utilitas yang menyediakan fungsi langsung dan kuat untuk bekerja dengan JavaScript asinkron Asinkron. js menyediakan sekitar 70 fungsi secara total. Untuk saat ini, kita hanya akan membahas dua di antaranya i. e, asinkron. air terjun() dan asinkron. seri() asinkron. air terjun()Metode ini berguna ketika Anda ingin menjalankan beberapa tugas satu per satu dan kemudian meneruskan hasil dari tugas sebelumnya ke tugas berikutnya. Dibutuhkan larik fungsi "tugas" dan fungsi "panggilan balik" terakhir yang dipanggil setelah semua fungsi dalam larik "tugas" selesai atau "panggilan balik" dipanggil dengan objek kesalahan
asinkron. seri() Fungsi ini berguna saat Anda ingin menjalankan fungsi, dan kemudian Anda perlu mendapatkan hasilnya setelah semua fungsi berhasil dijalankan. Perbedaan utama antara 6 dan 7 adalah bahwa 7 tidak meneruskan data dari satu fungsi ke fungsi lainnya. _Panggilan Balik Javascript vs PenutupanPenutupanDalam istilah teknis, penutupan adalah kombinasi dari fungsi yang digabungkan bersama yang memiliki referensi ke keadaan sekitarnya Sederhananya, penutupan memungkinkan akses ke ruang lingkup fungsi luar dari fungsi dalam Untuk menggunakan sebuah closure, kita perlu mendefinisikan sebuah fungsi di dalam fungsi lain. Kemudian, kita perlu mengembalikannya atau meneruskannya ke fungsi lain Telepon balikSecara konseptual callback mirip dengan penutupan. Panggilan balik pada dasarnya adalah tempat suatu fungsi menerima fungsi lain sebagai argumen Kata AkhirSaya harap artikel ini menghapus semua keraguan Anda tentang fungsi panggilan balik javascript. Jika Anda merasa artikel ini bermanfaat, bagikan di antara yang lain Berapa banyak fungsi panggilan balik yang dapat dijalankan setiap saat?Selama kode panggilan balik murni disinkronkan, maka tidak ada dua fungsi yang dapat dijalankan secara paralel.
Bagaimana cara memanggil fungsi panggilan balik dalam JavaScript?Fungsi callback khusus dapat dibuat dengan menggunakan kata kunci callback sebagai parameter terakhir. Itu kemudian dapat dipanggil dengan memanggil fungsi callback() di akhir fungsi . Operator typeof secara opsional digunakan untuk memeriksa apakah argumen yang diteruskan sebenarnya adalah fungsi. menghibur.
Bisakah fungsi panggilan balik memanggil fungsi lain?Fungsi panggilan balik adalah fungsi yang diteruskan ke fungsi lain sebagai argumen, yang kemudian dipanggil di dalam fungsi luar untuk menyelesaikan semacam rutinitas atau tindakan . Contoh di atas adalah callback sinkron, karena langsung dieksekusi.
Bagaimana cara memanggil fungsi kedua setelah yang pertama dijalankan dalam JavaScript?kapan(). then() untuk memanggil mereka satu per satu. |