Rumah > Artikel > hujung hadapan web > Apakah I/O tidak menyekat dalam Node.js? Fahami dengan contoh!
Apakah I/O tidak menyekat dalam Node.js? Artikel ini menggunakan contoh untuk membantu anda memahami I/O tanpa sekatan dalam Node.js, saya harap ia akan membantu anda.
Ditulis di hadapan
Saya sudah lama ingin belajar Node.js, saya rasa bahagian hadapan mesti faham ilmu server-side dan boleh berdikari saya menyiapkan satu projek full-stack yang kecil, tetapi atas faktor masa, setelah mempelajari beberapa asas semester lepas, saya tidak sempat lagi untuk belajar kursus hari ini, dan saya di sini untuk menguji anda sekali lagi dengan Node.js! ! ! [Pembelajaran yang disyorkan: "tutorial nodejs"]
Cuba mula Gunakan beberapa perkara pelik dalam penurunan harga
Beratur untuk memesan makanan berbanding memesan makanan di restoran
Memesan makanan di restoran adalah I/O tidak menyekat
The makcik di kantin hanya boleh menghidangkan nasi satu persatu---------> -menghalang I/O
Malah, masalah ini diajar oleh guru sekolah rendah Kami
Xiaofang membantu ibunya membuat kerja rumah. basuh pakaian dalam mesin basuh (20 minit), sapu lantai (10 minit), kemas meja (10 minit), dan sidai pakaian (5 minit) ). Bolehkah anda mereka bentuk urutan baharu yang bijak dan munasabah supaya Xiaofang dapat menyelesaikan perkara ini dalam sekurang-kurangnya ( ) minit?
C.30D.35Tidak sangka ? (Sebenarnya tak sangka~)
Dalam proses ini, kita menggunakan mesin basuh untuk mencuci pakaian = input, dan mengeringkan pakaian = output Semasa mesin basuh mencuci pakaian, kita boleh lakukan perkara lain, jadi Ini adalah milik
I/O tidak menyekat.
Berfikir
Untuk memahami I/O yang tidak menyekat, apakah perkara pertama yang perlu ditentukan?
Boleh------>Tidak menyekat
index.js
npm install glob
dalam terminal untuk menjalankan fail ini terus index.js
const glob = require('glob'); var result = null; console.time('glob') result = glob.sync(__dirname + '/**/*') console.timeEnd('glob') console.log(result)Lihat baris pertama Ia mengambil masa 20.93 milisaat untuk melaksanakan ini jumlah Untuk pelayan, ia sudah agak besar.
node index.js
Lihat I/O tidak menyekat
Pergi terus ke kod:
Kali ini, fungsi panggil balik digunakan untuk beroperasi, kerana pencetakan hasilnya sangat praktikal Terlalu banyak baris, kami menggantikannya dengan mencetak 'hasil mendapat', dan melakukan pernyataan cetakan selepas masa selesai, mari lihat hasilnya:
Pertama sekali, inilah masanya: 3.258ms Berbanding dengan 20.93 sebelumnya, ia adalah lebih sedikit. Selepas itu, ia adalah penyataan yang kita keluarkan want dicetak. Dalam erti kata lain, ia Operasi lain dilakukan antara input dan output, yang tidak memberi kesan kepada keputusan dan mengambil masa yang lebih singkat!const glob = require('glob'); var result = null; console.time('glob') glob(__dirname + '/**/*',function(err,res){ result = res; // console.log(result) console.log('got result'); }) console.timeEnd('glob') console.log('今天你卷了没?')KesimpulanPemahaman saya: I/O tanpa sekatan membolehkan kami mengurangkan banyak masa menunggu, dan semasa menunggu, kami juga boleh melakukan beberapa yang lain. Operasi (Dialu-alukan untuk memberi nasihat!!!)
Tiada apa-apa yang mutlak. Ia tidak bermakna I/O yang tidak menyekat adalah baik. Sebagai contoh, jika berlaku kemalangan di kalangan para tetamu tunggu pelayan ini, yang akan menjejaskan kualiti keseluruhan (boleh difahami sebagai pelayan yang menyekat I/O); tidak akan menjejaskan kualiti keseluruhan, dan mengupah beberapa pelayan akan memerlukan usaha yang sepadan.
Untuk lebih banyak pengetahuan berkaitan pengaturcaraan, sila lawati: Pengenalan kepada Pengaturcaraan! !
Atas ialah kandungan terperinci Apakah I/O tidak menyekat dalam Node.js? Fahami dengan contoh!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!