JavaScript tak segerak membenarkan tugasan dilaksanakan secara bebas daripada urutan utama, memastikan aplikasi kekal responsif dan cekap. Ini amat penting untuk mengendalikan operasi seperti panggilan API, pembacaan fail atau kelewatan.
console.log("Start"); console.log("End"); // Output: // Start // End
console.log("Start"); setTimeout(() => { console.log("Async Task"); }, 2000); console.log("End"); // Output: // Start // End // Async Task
Panggil balik ialah fungsi yang dihantar sebagai hujah kepada fungsi lain, dilaksanakan selepas selesai tugas tak segerak.
Contoh:
function fetchData(callback) { setTimeout(() => { callback("Data fetched!"); }, 2000); } fetchData((data) => { console.log(data); // Output: Data fetched! });
Kelemahan:
Janji mewakili nilai yang mungkin tersedia sekarang, pada masa hadapan atau tidak.
Negeri Janji:
Mencipta Janji:
const fetchData = new Promise((resolve, reject) => { setTimeout(() => { resolve("Data fetched!"); }, 2000); }); fetchData.then((data) => { console.log(data); // Output: Data fetched! });
Mengendalikan Ralat:
fetchData .then((data) => console.log(data)) .catch((error) => console.error(error));
async dan tunggu menyediakan sintaks yang lebih mudah dibaca untuk bekerja dengan janji.
Contoh:
async function fetchData() { const data = await new Promise((resolve) => { setTimeout(() => resolve("Data fetched!"), 2000); }); console.log(data); // Output: Data fetched! } fetchData();
Pengendalian Ralat:
async function fetchData() { try { const data = await new Promise((resolve, reject) => { reject("Error fetching data!"); }); console.log(data); } catch (error) { console.error(error); // Output: Error fetching data! } } fetchData();
API pengambilan ialah cara moden untuk membuat permintaan HTTP.
async function getData() { const response = await fetch("https://jsonplaceholder.typicode.com/posts/1"); const data = await response.json(); console.log(data); } getData();
Tingkah laku tak segerak dalam pengendalian acara.
document.getElementById("button").addEventListener("click", () => { setTimeout(() => { console.log("Button clicked!"); }, 1000); });
Menggunakan setTimeout dan setInterval untuk kelewatan.
setTimeout(() => console.log("Timeout executed!"), 2000);
Gelung Acara ialah mekanisme yang menguruskan operasi tak segerak dalam JavaScript. Tugasan disusun beratur dan dilaksanakan mengikut susunan berikut:
console.log("Start"); console.log("End"); // Output: // Start // End
Terlupa Mengendalikan Ralat:
Menyekat Benang Utama:
Neraka Panggil Balik:
Technique | Description |
---|---|
Callbacks | Functions executed after async tasks. |
Promises | Chained mechanism for async tasks. |
Async/Await | Cleaner syntax for handling promises. |
Memahami dan memanfaatkan pengaturcaraan tak segerak dalam JavaScript adalah penting untuk mencipta aplikasi web yang responsif dan cekap. Dengan menguasai panggilan balik, janji dan async/menunggu, pembangun boleh mengurus tugas tak segerak dengan berkesan.
Hai, saya Abhay Singh Kathayat!
Saya seorang pembangun tindanan penuh dengan kepakaran dalam kedua-dua teknologi hadapan dan belakang. Saya bekerja dengan pelbagai bahasa pengaturcaraan dan rangka kerja untuk membina aplikasi yang cekap, berskala dan mesra pengguna.
Jangan ragu untuk menghubungi saya melalui e-mel perniagaan saya: kaashshorts28@gmail.com.
Atas ialah kandungan terperinci Menguasai JavaScript Asynchronous: Panggilan Balik, Janji dan Async/Await. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!