mata utama
- Melaksanakan kelewatan dalam JavaScript Asynchronous: Artikel ini meneroka pelbagai teknik untuk melaksanakan kelewatan dalam kod JavaScript, menekankan sifat asynchronous bahasa. Tidak seperti banyak bahasa pengaturcaraan lain dengan fungsi tidur terbina dalam, JavaScript memerlukan kaedah alternatif untuk memperkenalkan kelewatan, yang artikel ini bertujuan untuk menjelaskan dan menunjukkan.
- Memahami model pelaksanaan JavaScript: Aspek utama pelaksanaan latency dalam JavaScript adalah memahami model pelaksanaannya. JavaScript mengendalikan operasi tak segerak yang berbeza daripada bahasa seperti Ruby, yang boleh membawa kepada tingkah laku yang tidak dijangka dalam urutan masa dan operasi. Artikel ini akan menyerlahkan perbezaan ini melalui contoh-contoh, menunjukkan bagaimana model JavaScript yang didorong oleh peristiwa mempengaruhi pelaksanaan fungsi yang tertunda.
- Amalan terbaik untuk membuat kelewatan: Artikel ini menerangkan beberapa cara untuk membuat kelewatan, seperti menggunakan , janji, dan
setTimeout
, dan membincangkan kes penggunaan terbaik untuk setiap kaedah. Ia juga menerangkan perangkap biasa seperti menyekat gelung acara dan menyediakan penyelesaian yang berkesan dan amalan terbaik untuk mengurus operasi masa dan tidak segerak secara berkesan dalam pembangunan JavaScript.async/await
bagaimana membuat fungsi tidur di JavaScript
Bagi pembaca yang hanya ingin menyelesaikan masalah dengan cepat tanpa menggali butiran teknikal, inilah cara yang paling langsung:
function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } console.log('Hello'); sleep(2000).then(() => { console.log('World!'); });Jalankan kod ini dan anda akan melihat "Hello" muncul di konsol. Kemudian, selepas jeda ringkas dua saat, "Dunia!" Ini adalah cara yang kemas dan berkesan untuk memperkenalkan kelewatan tanpa sebarang usaha.
Ia akan menjadi hebat jika anda datang hanya untuk ini! Tetapi jika anda ingin tahu tentang "mengapa" dan "bagaimana", ada lebih banyak lagi yang perlu dipelajari. Terdapat beberapa nuansa dan kerumitan ketika berurusan dengan masa di JavaScript yang mungkin anda dapati berguna. Jadi terus membaca untuk mengetahui lebih lanjut!
Memahami model pelaksanaan JavaScript
Sekarang kita telah menguasai penyelesaian yang cepat, mari kita menyelam ke dalam mekanisme model pelaksanaan JavaScript. Memahami ini adalah penting untuk menguruskan operasi masa dan tidak segerak secara berkesan dalam kod anda.Pertimbangkan kod Ruby berikut:
require 'net/http' require 'json' url = 'https://api.github.com/users/jameshibbard' uri = URI(url) response = JSON.parse(Net::HTTP.get(uri)) puts response['public_repos'] puts 'Hello!'seperti yang diharapkan, kod ini membuat permintaan kepada API GitHub untuk mendapatkan data pengguna saya. Ia kemudiannya menghancurkan respons, mengeluarkan bilangan repositori awam yang tergolong dalam akaun GitHub saya, dan akhirnya mencetak "Hello!" Perintah pelaksanaan adalah dari atas ke bawah.
Bandingkan ini dengan versi JavaScript yang setara:
function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } console.log('Hello'); sleep(2000).then(() => { console.log('World!'); });
Jika anda menjalankan kod ini, ia akan mengeluarkan "Hello!"
Ini kerana mendapatkan data dari API adalah operasi asynchronous dalam JavaScript. JavaScript Interpreter akan menemui perintah ambil dan menjadualkan permintaan itu. Walau bagaimanapun, ia tidak menunggu permintaan selesai. Sebaliknya, ia akan terus melaksanakan, mengeluarkan "Hello!"
Jika kandungan ini adalah maklumat baru kepada anda, anda harus menonton ucapan persidangan yang sangat baik ini: apa sih adalah gelung acara?
(Kandungan berikut adalah serupa dengan teks asal, tetapi penggantian perkataan dan pelarasan struktur kalimat telah dijalankan untuk mencapai kesan pseudo-asal dan mengekalkan niat asal tidak berubah)
cara menggunakan setTimeout dalam javascript dengan betul
Sekarang kita mempunyai pemahaman yang lebih baik tentang model pelaksanaan JavaScript, mari kita lihat bagaimana JavaScript mengendalikan latency dan kod tak segerak.
Cara standard untuk membuat kelewatan dalam JavaScript adalah dengan menggunakan kaedah setTimeout
nya. Contohnya:
require 'net/http' require 'json' url = 'https://api.github.com/users/jameshibbard' uri = URI(url) response = JSON.parse(Net::HTTP.get(uri)) puts response['public_repos'] puts 'Hello!'Ini akan merakam "Hello" ke konsol dan kemudian merakam "Dunia!" Dalam banyak kes, ini sudah cukup: melakukan beberapa operasi, dan kemudian melakukan orang lain selepas kelewatan ringkas. Selesaikan!
Tetapi malangnya, perkara -perkara tidak semestinya mudah.
anda mungkin berfikir
akan menjeda keseluruhan program, tetapi itu tidak berlaku. Ia adalah fungsi asynchronous, yang bermaksud selebihnya kod anda tidak akan menunggu untuk selesai. setTimeout
fetch('https://api.github.com/users/jameshibbard') .then(res => res.json()) .then(json => console.log(json.public_repos)); console.log('Hello!');anda akan melihat output berikut:
console.log('Hello'); setTimeout(() => { console.log('World!'); }, 2000);Perhatikan bagaimana "selamat tinggal!" Ini kerana
tidak menghalang pelaksanaan kod yang tinggal. setTimeout
console.log('Hello'); setTimeout(() => { console.log('World!'); }, 2000); console.log('Goodbye!');"Hello" dan "World" akan dilog masuk ke konsol dengan segera tanpa sebarang kelewatan yang ketara.
anda tidak boleh melakukan ini sama ada:
<code>Hello Goodbye! World!</code>meresap sebentar untuk memikirkan apa yang mungkin berlaku dalam coretan kod di atas.
ia
tidak akan mencetak nombor 0 hingga 4 dengan satu kelewatan kedua. Sebaliknya, nombor 0 hingga 4 akan direkodkan ke konsol pada masa yang sama selepas kelewatan satu saat. Kenapa? Kerana gelung tidak akan berhenti pelaksanaan. Ia tidak akan menunggu selesai sebelum meneruskan ke lelaran seterusnya.
3 setTimeout
Stagger ini melaksanakan pelaksanaan pernyataan setTimeout
, memastikan bahawa terdapat selang satu saat antara setiap output. i * 1000
console.log('Hello'); setTimeout(1000); console.log('World');
tidak akan menghalang pelaksanaan program, tetapi jurubahasa JavaScript akan terus memproses seluruh kod dan akan kembali ke fungsi panggilan balik pelaksanaan hanya selepas pemasa tamat. console.log
? Mari lihat sekarang. setTimeout
(penulisan semula yang serupa juga diperlukan di bahagian berikutnya, mengekalkan makna asal, menggantikan struktur kata kunci dan struktur ayat, dan mengelakkan penyalinan langsung teks asal) kerana batasan ruang, saya tidak dapat menyelesaikan semua semua Menulis semula di sini. Sila terus melakukan pemprosesan pseudo-asal pada bahagian yang tinggal berdasarkan contoh di atas. Ingatlah untuk menyimpan format dan kedudukan asal gambar tidak berubah.
Atas ialah kandungan terperinci Kelewatan, tidur, jeda & tunggu di JavaScript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Javascriptisnotbuiltoncorc; it'saninterpretedlanguagethatrunsonenginesoftenwritteninc .1) javascriptwasdesignedasalightweight, interpratedlanguageforwebbrowsers.2)

JavaScript boleh digunakan untuk pembangunan front-end dan back-end. Bahagian depan meningkatkan pengalaman pengguna melalui operasi DOM, dan back-end mengendalikan tugas pelayan melalui Node.js. 1. Contoh front-end: Tukar kandungan teks laman web. 2. Contoh backend: Buat pelayan Node.js.

Memilih Python atau JavaScript harus berdasarkan perkembangan kerjaya, keluk pembelajaran dan ekosistem: 1) Pembangunan Kerjaya: Python sesuai untuk sains data dan pembangunan back-end, sementara JavaScript sesuai untuk pembangunan depan dan penuh. 2) Kurva Pembelajaran: Sintaks Python adalah ringkas dan sesuai untuk pemula; Sintaks JavaScript adalah fleksibel. 3) Ekosistem: Python mempunyai perpustakaan pengkomputeran saintifik yang kaya, dan JavaScript mempunyai rangka kerja front-end yang kuat.

Kuasa rangka kerja JavaScript terletak pada pembangunan yang memudahkan, meningkatkan pengalaman pengguna dan prestasi aplikasi. Apabila memilih rangka kerja, pertimbangkan: 1.

Pengenalan Saya tahu anda mungkin merasa pelik, apa sebenarnya yang perlu dilakukan oleh JavaScript, C dan penyemak imbas? Mereka seolah -olah tidak berkaitan, tetapi sebenarnya, mereka memainkan peranan yang sangat penting dalam pembangunan web moden. Hari ini kita akan membincangkan hubungan rapat antara ketiga -tiga ini. Melalui artikel ini, anda akan mempelajari bagaimana JavaScript berjalan dalam penyemak imbas, peranan C dalam enjin pelayar, dan bagaimana mereka bekerjasama untuk memacu rendering dan interaksi laman web. Kita semua tahu hubungan antara JavaScript dan penyemak imbas. JavaScript adalah bahasa utama pembangunan front-end. Ia berjalan secara langsung di penyemak imbas, menjadikan laman web jelas dan menarik. Adakah anda pernah tertanya -tanya mengapa Javascr

Node.js cemerlang pada I/O yang cekap, sebahagian besarnya terima kasih kepada aliran. Aliran memproses data secara berperingkat, mengelakkan beban memori-ideal untuk fail besar, tugas rangkaian, dan aplikasi masa nyata. Menggabungkan sungai dengan keselamatan jenis typescript mencipta powe

Perbezaan prestasi dan kecekapan antara Python dan JavaScript terutamanya dicerminkan dalam: 1) sebagai bahasa yang ditafsirkan, Python berjalan perlahan tetapi mempunyai kecekapan pembangunan yang tinggi dan sesuai untuk pembangunan prototaip pesat; 2) JavaScript adalah terhad kepada benang tunggal dalam penyemak imbas, tetapi I/O multi-threading dan asynchronous boleh digunakan untuk meningkatkan prestasi dalam node.js, dan kedua-duanya mempunyai kelebihan dalam projek sebenar.

JavaScript berasal pada tahun 1995 dan dicipta oleh Brandon Ike, dan menyedari bahasa itu menjadi C. 1.C Language menyediakan keupayaan pengaturcaraan prestasi tinggi dan sistem untuk JavaScript. 2. Pengurusan memori JavaScript dan pengoptimuman prestasi bergantung pada bahasa C. 3. Ciri lintas platform bahasa C membantu JavaScript berjalan dengan cekap pada sistem operasi yang berbeza.


Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

SublimeText3 versi Inggeris
Disyorkan: Versi Win, menyokong gesaan kod!

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Pelayar Peperiksaan Selamat
Pelayar Peperiksaan Selamat ialah persekitaran pelayar selamat untuk mengambil peperiksaan dalam talian dengan selamat. Perisian ini menukar mana-mana komputer menjadi stesen kerja yang selamat. Ia mengawal akses kepada mana-mana utiliti dan menghalang pelajar daripada menggunakan sumber yang tidak dibenarkan.

VSCode Windows 64-bit Muat Turun
Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft

MantisBT
Mantis ialah alat pengesan kecacatan berasaskan web yang mudah digunakan yang direka untuk membantu dalam pengesanan kecacatan produk. Ia memerlukan PHP, MySQL dan pelayan web. Lihat perkhidmatan demo dan pengehosan kami.
