Sifat tak segerak JavaScript adalah penting untuk mencipta apl yang mesra pengguna, responsif dan cekap. Memahami idea asas pengaturcaraan tak segerak, seperti panggilan balik, janji dan async/menunggu, adalah penting untuk navigasi yang berjaya. Manual ini akan mengupas idea ini dan mengkaji aplikasi, kelebihan dan kelemahannya.
Pengaturcaraan Segerak:
Contoh Kod Segerak:
function task1() { console.log("Task 1 started"); for (let i = 0; i < 1e9; i++); // Simulating a long task console.log("Task 1 completed"); } function task2() { console.log("Task 2 started"); for (let i = 0; i < 1e9; i++); // Simulating a long task console.log("Task 2 completed"); } task1(); // Executes first task2(); // Executes after task1 is completed
Pengaturcaraan Tak Segerak:
Definisi: Panggilan balik ialah fungsi yang dihantar sebagai hujah kepada fungsi lain, dilaksanakan selepas selesai tugasan.
Contoh:
function fetchData(callback) { console.log("Fetching data..."); setTimeout(() => { const data = "Data received"; // Simulate fetched data callback(data); // Execute the callback with the data }, 2000); } fetchData((data) => { console.log(data); // Logs after data is fetched });
Penjelasan:
Isu dengan Panggilan Balik:
Definisi: Janji ialah objek yang mewakili penyiapan (atau kegagalan) operasi tak segerak dan nilai yang terhasil.
Faedah:
Contoh:
function fetchData() { return new Promise((resolve, reject) => { console.log("Fetching data..."); setTimeout(() => { const data = "Data received"; resolve(data); // Resolve the promise with data }, 2000); }); } fetchData() .then(data => { console.log(data); // Logs after promise is resolved }) .catch(error => { console.error(error); // Handles errors });
Penjelasan:
Definisi: Async/wait ialah gula sintaktik yang dibina di atas janji, membolehkan anda menulis kod tak segerak yang kelihatan dan berkelakuan lebih seperti kod segerak.
Faedah:
Contoh:
function task1() { console.log("Task 1 started"); for (let i = 0; i < 1e9; i++); // Simulating a long task console.log("Task 1 completed"); } function task2() { console.log("Task 2 started"); for (let i = 0; i < 1e9; i++); // Simulating a long task console.log("Task 2 completed"); } task1(); // Executes first task2(); // Executes after task1 is completed
Penjelasan:
Segerak lwn. Tak segerak:
Panggilan balik:
Janji:
Async/Tunggu:
Anda boleh membangunkan aplikasi JavaScript yang berkesan dan mudah digunakan dengan memahami dan menggunakan strategi ini. Mempelajari pengaturcaraan tak segerak adalah penting untuk menjadi pembangun JavaScript yang mahir, sama ada anda menguruskan tugasan yang mudah atau mencipta aliran kerja yang rumit.
Ikuti saya di : Benang Github Linkedin
Atas ialah kandungan terperinci Memahami Pengaturcaraan Asynchronous JavaScript: Panggilan Balik, Janji dan Async/Await. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!