Rumah > hujung hadapan web > tutorial js > JavaScript Synchronous vs Asynchronous Dipermudahkan

JavaScript Synchronous vs Asynchronous Dipermudahkan

Barbara Streisand
Lepaskan: 2024-12-05 06:05:17
asal
851 orang telah melayarinya

Synchronous vs Asynchronous JavaScript Simplified

JavaScript dikenali secara meluas sebagai bahasa satu utas. Ini bermakna ia boleh melaksanakan hanya satu keping kod pada satu masa dalam satu susunan. Walau bagaimanapun, keupayaan JavaScript untuk mengendalikan tugas tak segerak dengan cekap adalah salah satu sebab ia berkuasa untuk membina aplikasi interaktif dan responsif.

Dalam artikel ini, kami akan meneroka perbezaan utama antara JavaScript segerak dan tak segerak dengan contoh praktikal.

Apakah JavaScript Segerak?

Kod segerak melaksanakan baris demi baris, satu langkah pada satu masa. Setiap operasi menunggu operasi sebelumnya selesai sebelum beralih ke operasi seterusnya.

Contoh JavaScript Segerak

console.log("Start");

// A time-consuming operation (like a loop)
for (let i = 0; i < 9; i++) {
  // Simulating a delay
}

console.log("End");
Salin selepas log masuk
Salin selepas log masuk

Output:

Start
End
Salin selepas log masuk
Salin selepas log masuk

Dalam contoh ini, gelung menyekat pelaksanaan kod. Jika ini adalah aplikasi dunia sebenar, UI akan membeku semasa gelung kerana JavaScript sedang sibuk memprosesnya.

Apakah JavaScript Asynchronous?

Kod tak segerak membenarkan tugasan tertentu dijalankan di latar belakang, membolehkan program terus melaksanakan tugas lain tanpa menunggu.

JavaScript mencapai ini menggunakan mekanisme seperti:

  • Panggil balik
  • Janji
  • Async/Tunggu Contoh JavaScript Asynchronous dengan setTimeout
console.log("Start");

setTimeout(() => {
  console.log("Timeout completed");
}, 2000); // 2-second delay

console.log("End");
Salin selepas log masuk
Salin selepas log masuk

Output:

Start
End
Timeout completed
Salin selepas log masuk
Salin selepas log masuk

Di sini, fungsi setTimeout berjalan secara tidak segerak. Ia menjadualkan fungsi panggil balik untuk dilaksanakan selepas 2 saat tetapi tidak menyekat pelaksanaan kod dalam masa yang sama.

Perbezaan Utama Antara JavaScript Segerak dan Asynchronous

Feature Synchronous Asynchronous
Execution Executes line by line Tasks can run in the background
Blocking Blocks subsequent code Non-blocking
Examples Loops, standard functions Callbacks, Promises, Async/Await

Menggunakan Janji untuk Pengaturcaraan Asynchronous

Janji memudahkan untuk mengendalikan operasi tak segerak. Berikut ialah contoh:

console.log("Start");

// A time-consuming operation (like a loop)
for (let i = 0; i < 9; i++) {
  // Simulating a delay
}

console.log("End");
Salin selepas log masuk
Salin selepas log masuk

Output:

Start
End
Salin selepas log masuk
Salin selepas log masuk

Async/Await: Sintaks yang Lebih Bersih untuk Janji

Kata kunci async dan menunggu memudahkan kerja dengan Janji:

console.log("Start");

setTimeout(() => {
  console.log("Timeout completed");
}, 2000); // 2-second delay

console.log("End");
Salin selepas log masuk
Salin selepas log masuk

Output:

Start
End
Timeout completed
Salin selepas log masuk
Salin selepas log masuk

Kesimpulan

Memahami perbezaan antara JavaScript segerak dan tak segerak adalah penting untuk membina aplikasi yang cekap dan tidak menyekat. Gunakan corak tak segerak seperti Promises dan Async/Await untuk memastikan pengalaman pengguna yang lancar.

Jika anda mempunyai sebarang soalan atau contoh untuk dikongsi, sila tinggalkan komen di bawah!

Atas ialah kandungan terperinci JavaScript Synchronous vs Asynchronous Dipermudahkan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan