cari

kaedah tidur nodejs

May 25, 2023 pm 04:25 PM

Node.js ialah persekitaran berjalan JavaScript sebelah pelayan tak segerak dipacu peristiwa. Ia ringan, cekap kuasa dan boleh skala. Walau bagaimanapun, disebabkan model pelaksanaan tak segerak Node.js, terdapat beberapa kes di mana operasi tunggu/tangguh yang serupa dengan operasi segerak perlu dilaksanakan secara manual. Operasi tidur sering digunakan untuk mensimulasikan operasi yang berjalan lama atau dalam tugas tertentu yang perlu dilaksanakan selepas tempoh masa. Artikel ini akan memperkenalkan cara melaksanakan operasi tidur dalam Node.js.

Kaedah 1: Gunakan fungsi setTimeout

Kaedah setTimeout ialah fungsi terbina dalam Node.js, yang boleh digunakan untuk mencetuskan fungsi panggil balik selepas bilangan milisaat yang ditetapkan. Kita boleh menggunakan ciri ini untuk mensimulasikan operasi tidur.

Berikut ialah contoh:

function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}

async function main() {
    console.log('start');
    await sleep(2000); // 睡眠2秒
    console.log('end');
}

main();

Dalam kod di atas, kami mentakrifkan tidur fungsi tak segerak, yang akan mengembalikan objek Promise dan memanggil kaedah penyelesaian selepas bilangan milisaat yang ditentukan. Fungsi utama memanggil fungsi tidur dan menunggu selama 2 saat sebelum mengeluarkan baris log. Melalui sintaks async/menunggu, kami boleh melaksanakan operasi tidur dengan sangat mudah.

Kaedah 2: Gunakan objek Promise tersuai

Kami juga boleh melaksanakan objek Promise sendiri untuk melaksanakan operasi tidur. Kaedah ini lebih fleksibel dan anda boleh menyesuaikan kaedah pelaksanaan objek Promise mengikut keperluan anda sendiri.

Berikut ialah contoh:

function sleep(ms) {
    return new Promise(resolve => {
        let startTime = new Date().getTime();
        while (new Date().getTime() < startTime + ms);
        resolve();
    });
}

async function main() {
    console.log('start');
    await sleep(2000); // 睡眠2秒
    console.log('end');
}

main();

Dalam contoh ini, kami mentakrifkan fungsi tidur yang akan melaksanakan gelung untuk bilangan milisaat tertentu (untuk pemasaan simulasi). Apabila gelung berakhir, kami memanggil kaedah penyelesaian untuk menamatkan pelaksanaan Janji. Fungsi utama memanggil fungsi tidur dan menunggu selama 2 saat sebelum mengeluarkan baris log.

Perlu diambil perhatian bahawa kaedah ini juga akan menduduki sumber CPU apabila melaksanakan operasi tidur. Ia tidak disyorkan untuk digunakan dalam persekitaran pengeluaran dan hanya digunakan dalam keadaan khas apabila operasi yang berjalan lama perlu disimulasikan. .

Kesimpulan

Tidak kira kaedah mana yang digunakan, melaksanakan operasi tidur adalah mudah. Walaupun model pelaksanaan asynchronous Node.js pandai mengendalikan permintaan konkurensi tinggi, kami juga mempunyai pelbagai kaedah untuk melaksanakan beberapa operasi yang memerlukan menunggu/menunggu. Perlu memilih kaedah pelaksanaan yang sesuai mengikut keperluan sebenar.

Atas ialah kandungan terperinci kaedah tidur nodejs. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
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
useState () vs usereducer (): memilih cangkuk yang tepat untuk keperluan negara andauseState () vs usereducer (): memilih cangkuk yang tepat untuk keperluan negara andaApr 24, 2025 pm 05:13 PM

PILISEUSESTATE () Forsimple, IndependentStateVariables; useUsereducer () forComplexStateLogicorWhenStededededSonPreviousState.1) useState () isIdealForsimpleupdatesliketogglingabooleanorupdatingAcounter.2)

Menguruskan Negeri dengan UseState (): Tutorial PraktikalMenguruskan Negeri dengan UseState (): Tutorial PraktikalApr 24, 2025 pm 05:05 PM

UseState lebih tinggi daripada komponen kelas dan penyelesaian pengurusan negeri yang lain kerana ia memudahkan pengurusan negeri, menjadikan kod lebih jelas, lebih mudah dibaca, dan selaras dengan sifat deklaratif React. 1) UseState membolehkan pemboleh ubah negeri diisytiharkan secara langsung dalam komponen fungsi, 2) ia mengingati negara semasa membuat semula melalui mekanisme cangkuk, 3) menggunakan useState untuk menggunakan pengoptimuman reaksi seperti menghafal untuk meningkatkan prestasi,

Bila Menggunakan UseState () dan Bila Mempertimbangkan Penyelesaian Pengurusan Negeri AlternatifBila Menggunakan UseState () dan Bila Mempertimbangkan Penyelesaian Pengurusan Negeri AlternatifApr 24, 2025 pm 04:49 PM

UseUsestate () forlocalComponentStatemanagement; pertimbangan yang tidak dapat dipertahankan, kompleksLogic, orperformanceissues.1) useState () isidealforsimple, localstate.2) useglobalStatesolutionsLikereduxorcontextForShorSharsharedState.3)

Komponen yang boleh diguna semula React: Meningkatkan Pengekalkan dan Kecekapan KodKomponen yang boleh diguna semula React: Meningkatkan Pengekalkan dan Kecekapan KodApr 24, 2025 pm 04:45 PM

ReusablecomponentsinreactenhanceCodeMaintainabilityandficiencybylowingdevelperstousethesamecomponentacrossdifferentpartsofanapplicationorprojects.1) merekaReduceredundancyandsimplifyupdates.2) mereka

Dom Maya di React: Meningkatkan Prestasi Melalui Kemas Kini CekapDom Maya di React: Meningkatkan Prestasi Melalui Kemas Kini CekapApr 24, 2025 pm 04:41 PM

Thevirtualdomisalightweightin-memorycopyoftherealealeusedbyreactooptimizeuiupdates.itboostsperformanceMinimizingDirectdomanipulationThoughaprocessofupdatingTheVirtualDomfirst, thenapplyingonlynectionarychangeSotheakualdom.

Integrasi HTML dan React: Panduan PraktikalIntegrasi HTML dan React: Panduan PraktikalApr 21, 2025 am 12:16 AM

HTML dan React boleh diintegrasikan dengan lancar melalui JSX untuk membina antara muka pengguna yang cekap. 1) Benamkan elemen HTML menggunakan JSX, 2) mengoptimumkan prestasi rendering menggunakan DOM maya, 3) mengurus dan menjadikan struktur HTML melalui komponen. Kaedah integrasi ini bukan sahaja intuitif, tetapi juga meningkatkan prestasi aplikasi.

React dan HTML: Memberi data dan acara pengendalianReact dan HTML: Memberi data dan acara pengendalianApr 20, 2025 am 12:21 AM

React dengan cekap menjadikan data melalui negeri dan prop, dan mengendalikan peristiwa pengguna melalui sistem peristiwa sintesis. 1) Gunakan UseState untuk menguruskan keadaan, seperti contoh kaunter. 2) Pemprosesan acara dilaksanakan dengan menambahkan fungsi dalam JSX, seperti klik butang. 3) Atribut utama diperlukan untuk membuat senarai, seperti komponen todolist. 4) Untuk pemprosesan borang, useState dan E.PreventDefault (), seperti komponen bentuk.

Sambungan backend: bagaimana reaksi berinteraksi dengan pelayanSambungan backend: bagaimana reaksi berinteraksi dengan pelayanApr 20, 2025 am 12:19 AM

React berinteraksi dengan pelayan melalui permintaan HTTP untuk mendapatkan, menghantar, mengemas kini dan memadam data. 1) Operasi Pengguna mencetuskan peristiwa, 2) Memulakan permintaan HTTP, 3) Respons Pelayan Proses, 4) Kemas kini Status Komponen dan Re-Render.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

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

Alat panas

EditPlus versi Cina retak

EditPlus versi Cina retak

Saiz kecil, penyerlahan sintaks, tidak menyokong fungsi gesaan kod

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Dreamweaver Mac版

Dreamweaver Mac版

Alat pembangunan web visual

MinGW - GNU Minimalis untuk Windows

MinGW - GNU Minimalis untuk Windows

Projek ini dalam proses untuk dipindahkan ke osdn.net/projects/mingw, anda boleh terus mengikuti kami di sana. MinGW: Port Windows asli bagi GNU Compiler Collection (GCC), perpustakaan import yang boleh diedarkan secara bebas dan fail pengepala untuk membina aplikasi Windows asli termasuk sambungan kepada masa jalan MSVC untuk menyokong fungsi C99. Semua perisian MinGW boleh dijalankan pada platform Windows 64-bit.