Rumah > hujung hadapan web > tutorial js > Memahami async dan menunggu dalam JavaScript: Kunci kepada Kod Asynchronous Cleaner

Memahami async dan menunggu dalam JavaScript: Kunci kepada Kod Asynchronous Cleaner

Mary-Kate Olsen
Lepaskan: 2024-12-18 06:49:10
asal
355 orang telah melayarinya

Sifat tak segerak JavaScript adalah salah satu kekuatan terbesarnya, tetapi ia juga boleh menjadi punca kekecewaan bagi pembangun. Dari masa ke masa, kami telah beralih daripada fungsi panggil balik (dan "neraka panggilan balik") yang digeruni kepada janji, dan kini untuk menyegerak dan menunggu. Alat moden ini memudahkan pengaturcaraan tak segerak, menjadikan kod anda lebih mudah dibaca, diselenggara dan cekap.

Tetapi bagaimanakah async dan tunggu benar-benar berfungsi, dan mengapa ia sangat bermanfaat? Mari selami dan teroka!

Apakah itu async dan menunggu?
Dalam JavaScript, async dan await adalah sebahagian daripada ES2017 (ES8) dan menyediakan cara untuk mengendalikan operasi tak segerak dengan cara yang kelihatan lebih segerak. Ia dibina di atas Janji dan membolehkan anda menulis kod yang lebih bersih dan lebih mudah dibaca.

  • async: Mengisytiharkan fungsi sebagai async memastikan ia sentiasa mengembalikan janji, walaupun anda tidak memulangkan satu secara eksplisit

  • menunggu: Kata kunci ini digunakan dalam fungsi async untuk menjeda pelaksanaan fungsi sehingga janji diselesaikan atau ditolak. Ia menjadikan kod tak segerak kelihatan segerak.

Bagaimana Ia Berfungsi?
Mari lihat beberapa contoh untuk memahami cara ia berfungsi.

async Contoh Fungsi

Understanding async and await in JavaScript: The Key to Cleaner Asynchronous Code

Di sini, kata kunci async secara automatik membalut nilai pulangan dalam janji. Jadi, memanggil sayHello() akan membalas janji yang bertekad untuk "Hello, World!"

Menggunakan menunggu dalam Fungsi async
Kata kunci menunggu menjeda pelaksanaan fungsi sehingga janji diselesaikan atau ditolak.

Understanding async and await in JavaScript: The Key to Cleaner Asynchronous Code
Tanpa menunggu, anda perlu merantai .then() panggilan, yang boleh membuat kod lebih sukar dibaca.

Adakah menunggu Sekat Pelaksanaan?
Jika menunggu benar-benar menyekat pelaksanaan maka bagaimanakah ia berbeza daripada JavaScript segerak tradisional dan apakah faedah sebenar menggunakannya?

Di sinilah beberapa kekeliruan timbul: tunggu TIDAK menyekat urutan utama. Ia hanya menjeda pelaksanaan fungsi async semasa, manakala bahagian lain program anda terus dijalankan.

Analogi:
Bayangkan anda sedang memasak:

  • Segerak: Anda perlu berdiri di atas dapur dan kacau periuk sentiasa sehingga makanan masak. Anda tidak boleh melakukan apa-apa lagi pada masa itu.

  • Async/Await: Anda masukkan makanan ke dalam ketuhar (tunggu Janji bahawa ia akan masak). Anda kemudian boleh melakukan perkara lain (memotong sayur, menetapkan meja) sementara anda menunggu. Apabila pemasa berdering (Janji diselesaikan), anda kembali ke ketuhar dan mengeluarkan makanan.

Contoh:

Understanding async and await in JavaScript: The Key to Cleaner Asynchronous Code
Keluaran:

Understanding async and await in JavaScript: The Key to Cleaner Asynchronous Code
Perhatikan bahawa "Tamat" dilog sebelum "Data diambil." Ini menunjukkan bahawa semasa menunggu menjeda fungsi fetchData, ia tidak menyekat seluruh program.

Kesimpulan
async dan menunggu ialah alatan berkuasa yang mengubah cara kami menulis kod tak segerak dalam JavaScript. Dengan menjadikan aliran kerja tak segerak kelihatan segerak, ia meningkatkan kebolehbacaan, memudahkan pengendalian ralat dan memberi anda kawalan tepat ke atas operasi berjujukan dan selari—semuanya tanpa menyekat urutan utama.

Atas ialah kandungan terperinci Memahami async dan menunggu dalam JavaScript: Kunci kepada Kod Asynchronous Cleaner. 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