1-vazifa:Tasavvur qiling, biz 100 ta URLga murojaat qilib ulardan ma’lumot olishimiz kerak. Deylik, har bitta URLdan ma’lumot olishga 1 soniya vaqt ketadi. Biz so’rov yuboramiz va 1 soniyadan keyin bizga javob keladi. Agar bitta thread ishlatsak, jarayon taxminan pastdagidek bo’ladi. javob kelishiga ketgan vaqtni o’xshatish uchun sleepdan foydalanamiz. Natijani to’liq ko’rish uchun taskni 100 marta emas, 5 marta bajaramiz:\
Ko’rganingizdek, har safar faqat bitta kutish tugagandan keyingina keyingi qismga o’tayapmiz. Demak, blocking call bo’layapti. Umumiy natija esa 5 soniyadan ko’proq vaqt oldi. Tabiiyki 100 ta url uchun 100 soniyadan ko’proq vaqt ketadi(yana matematika). // Asynchron fileni o'qish
console.log("Asynchronous read method:");
fs.readFile('sample.txt', function (err, data) {
if (err) {
return console.error(err);
}
console.log("Data in the file is - " + data.toString());
});
Natijasi: