Rumah > hujung hadapan web > tutorial js > Buat pelayan nodejs (7) dengan mudah: Pelaksanaan menyekat operations_node.js

Buat pelayan nodejs (7) dengan mudah: Pelaksanaan menyekat operations_node.js

WBOY
Lepaskan: 2016-05-16 16:25:46
asal
1223 orang telah melayarinya

Mari kita lihat apa itu operasi menyekat;

Saya mensimulasikan kaedah sleep() untuk menangguhkan pencetakan hello star selama 10 saat.

requestHandlers.js

Salin kod Kod adalah seperti berikut:

fungsi mula() {
console.log("Permintaan pengendali 'mula' dipanggil.");
fungsi tidur(milisaat) {
var startTime = new Date().getTime();
manakala (Tarikh baharu().getTime() < masa mula milliSeconds);
}
tidur(10000);
Kembalikan "Hello Start";
}

muat naik fungsi() {
console.log("Pengendali permintaan 'muat naik' telah dipanggil.");
Kembalikan "Hello Upload";
}

exports.start = mula;
exports.upload = muat naik;

Apabila meminta /mula, terdapat kelewatan selama 10 saat sebelum mencetak.

Apabila meminta/muat naik, ia tidak akan terjejas.

Jom buat percubaan:

Masukkan http://localhost:8888/start dalam bar alamat tetingkap penyemak imbas pertama, tetapi jangan bukanya lagi!

Masukkan http://localhost:8888/upload dalam bar alamat tetingkap penyemak imbas kedua Sekali lagi, jangan bukanya lagi.

Kami tekan Enter dalam tetingkap pertama ("/start"), dan kemudian cepat beralih ke tetingkap kedua ("/upload") dan tekan Enter.

Perhatian, apa yang berlaku:

URL

/mula mengambil masa 10 saat untuk dimuatkan, yang kami jangkakan.

URL

/muat naik juga mengambil masa 10 saat!

Ya, ia tidak mempunyai operasi yang serupa dengan sleep() dalam pengendali permintaan yang sepadan. Apakah masalahnya?

Sebabnya ialah start() mengandungi operasi menyekat. Secara kiasan, "ia menyekat semua kerja pemprosesan lain."

Node.js adalah satu-benang dan boleh memproses tugasan secara selari tanpa menambah urutan tambahan.

Ia melaksanakan operasi selari melalui gelung peristiwa Kita harus menggunakan ini sepenuhnya - elakkan operasi menyekat sebanyak mungkin dan sebaliknya menggunakan operasi bukan sekatan.

Dalam bahagian seterusnya kami akan memperkenalkan cara melaksanakan operasi tanpa sekatan.

Label berkaitan:
sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan