Tutorial JS

JS RUMAH Pengenalan JS JS Dimana Keluaran JS Pernyataan JS Sintaks JS Komentar JS Variabel JS JS Let JS Const Operator JS JS Aritmatika Tugas JS Tipe Data JS Fungsi JS Objek JS Acara JS String JS Metode String JS Pencarian String JS Template String JS Nomor JS Metode Nomor JS JS Array Metode Array JS Sortir Array JS Iterasi Array JS JS Array Const Tanggal JS Format Tanggal JS Metode Dapatkan Tanggal JS Metode Penetapan Tanggal JS JS Matematika JS Acak JS Boolean Perbandingan JS Ketentuan JS Beralih JS JS Loop Untuk JS Loop Untuk Masuk JS Loop Untuk Of JS Loop Sementara Istirahat JS JS Iterable JS Set Peta JS Tipe JS Konversi Tipe JS JS Bitwise JS RegExp Kesalahan JS Lingkup JS Pengangkatan JS Mode Ketat JS JS Kata Kunci ini Fungsi Panah JS Kelas JS JS JSON Debug JS Panduan Gaya JS Praktik Terbaik JS Kesalahan JS Kinerja JS Kata-kata Cadangan JS

Versi JS

Versi JS JS 2009 (ES5) JS 2015 (ES6) JS 2016 JS 2017 JS 2018 JS IE / Tepi Sejarah JS

Objek JS

Definisi Objek Properti Objek Metode Objek Tampilan Objek Aksesor Objek Konstruktor Objek Prototipe Objek Obyek Iterable Set Objek Peta Objek Referensi Objek

Fungsi JS

Definisi Fungsi Parameter Fungsi Panggilan Fungsi Panggilan Fungsi Fungsi Terapkan Penutupan Fungsi

Kelas JS

Perkenalan Kelas Warisan Kelas Kelas Statis

JS Asinkron

Panggilan Balik JS JS Asinkron JS Janji JS Async/Menunggu

JS HTML DOM

Pengenalan DOM Metode DOM Dokumen DOM Elemen DOM HTML DOM Formulir DOM CSS DOM Animasi DOM Acara DOM Pendengar Acara DOM Navigasi DOM Node DOM Koleksi DOM Daftar Node DOM

JS Browser BOM

Jendela JS Layar JS Lokasi JS Sejarah JS JS Navigator Peringatan Munculan JS Waktu JS JS Cookies

JS Web API

Pengantar API Web API Formulir Web API Riwayat Web API Penyimpanan Web API Pekerja Web API Pengambilan Web API Geolokasi Web

JS AJAX

Pengenalan AJAX AJAX XMLHttp Permintaan AJAX Tanggapan AJAX File XML AJAX AJAX PHP AJAX ASP Basis Data AJAX Aplikasi AJAX Contoh AJAX

JS JSON

Perkenalan JSON Sintaks JSON JSON vs XML Tipe Data JSON Penguraian JSON Stringify JSON Objek JSON Array JSON Server JSON JSON PHP JSON HTML JSON JSONP

JS vs jQuery

Pemilih jQuery jQuery HTML jQuery CSS jQuery DOM

Grafik JS

Grafik JS JS Kanvas JS Plotly JS Chart.js Bagan Google JS JS D3.js

Contoh JS

Contoh JS JS HTML DOM Masukan HTML JS Objek HTML JS Acara HTML JS JS Browser Editor JS Latihan JS kuis JS Sertifikat JS

Referensi JS

Objek JavaScript Objek DOM HTML


JavaScript asinkron

"Aku akan menyelesaikannya nanti!"

Fungsi yang berjalan secara paralel dengan fungsi lain disebut asinkron

Contoh yang bagus adalah JavaScript setTimeout()

JavaScript asinkron

Contoh-contoh yang digunakan dalam bab sebelumnya, sangat disederhanakan.

Tujuan dari contoh ini adalah untuk mendemonstrasikan sintaks fungsi panggilan balik:

Contoh

function myDisplayer(something) {
  document.getElementById("demo").innerHTML = something;
}

function myCalculator(num1, num2, myCallback) {
  let sum = num1 + num2;
  myCallback(sum);
}

myCalculator(5, 5, myDisplayer);

Pada contoh di atas, myDisplayeradalah nama dari sebuah fungsi.

Itu diteruskan myCalculator()sebagai argumen.

Di dunia nyata, panggilan balik paling sering digunakan dengan fungsi asinkron.

Contoh tipikal adalah JavaScript setTimeout().


Menunggu Waktu Habis

Saat menggunakan fungsi JavaScript setTimeout(), Anda dapat menentukan fungsi panggilan balik yang akan dijalankan pada waktu habis:

Contoh

setTimeout(myFunction, 3000);

function myFunction() {
  document.getElementById("demo").innerHTML = "I love You !!";
}

Pada contoh di atas, myFunctiondigunakan sebagai callback.

myFunctionditeruskan setTimeout()sebagai argumen.

3000 adalah jumlah milidetik sebelum time-out, jadi myFunction()akan dipanggil setelah 3 detik.

Saat Anda melewatkan fungsi sebagai argumen, ingatlah untuk tidak menggunakan tanda kurung.

Kanan: setTimeout(myFunction, 3000);

Salah:setTimeout(fungsiku(), 3000);

Alih-alih meneruskan nama fungsi sebagai argumen ke fungsi lain, Anda selalu dapat meneruskan seluruh fungsi sebagai gantinya:

Contoh

setTimeout(function() { myFunction("I love You !!!"); }, 3000);

function myFunction(value) {
  document.getElementById("demo").innerHTML = value;
}

Pada contoh di atas, function(){ myFunction("I love You !!!"); } digunakan sebagai callback. Ini adalah fungsi yang lengkap. Fungsi lengkap diteruskan ke setTimeout() sebagai argumen.

3000 adalah jumlah milidetik sebelum time-out, jadi myFunction()akan dipanggil setelah 3 detik.


Menunggu Interval:

Saat menggunakan fungsi JavaScript setInterval(), Anda dapat menentukan fungsi panggilan balik yang akan dijalankan untuk setiap interval:

Contoh

setInterval(myFunction, 1000);

function myFunction() {
  let d = new Date();
  document.getElementById("demo").innerHTML=
  d.getHours() + ":" +
  d.getMinutes() + ":" +
  d.getSeconds();
}

Pada contoh di atas, myFunctiondigunakan sebagai callback.

myFunctionditeruskan setInterval()sebagai argumen.

1000 adalah jumlah milidetik antara interval, jadi myFunction()akan dipanggil setiap detik.


Menunggu File

Jika Anda membuat fungsi untuk memuat sumber daya eksternal (seperti skrip atau file), Anda tidak dapat menggunakan konten sebelum dimuat sepenuhnya.

Ini adalah waktu yang tepat untuk menggunakan panggilan balik.

Contoh ini memuat file HTML ( mycar.html), dan menampilkan file HTML di halaman web, setelah file dimuat penuh:

Menunggu Berkas:

function myDisplayer(some) {
  document.getElementById("demo").innerHTML = some;
}

function getFile(myCallback) {
  let req = new XMLHttpRequest();
  req.open('GET', "mycar.html");
  req.onload = function() {
    if (req.status == 200) {
      myCallback(this.responseText);
    } else {
      myCallback("Error: " + req.status);
    }
  }
  req.send();
}

getFile(myDisplayer);

Pada contoh di atas, myDisplayerdigunakan sebagai callback.

myDisplayerditeruskan getFile()sebagai argumen.

Di bawah ini adalah salinan dari mycar.html:

mycar.html


<img src="img_car.jpg" alt="Nice car" style="width:100%">

<p>A car is a wheeled, self-powered motor vehicle used for transportation.
Most definitions of the term specify that cars are designed to run primarily on roads, to have seating for one to eight people, to typically have four wheels.</p>

<p>(Wikipedia)</p>