مروان محمود3 نشر 6 سبتمبر 2021 أرسل تقرير نشر 6 سبتمبر 2021 ما المقصود بالstreams في الnode js 1 اقتباس
0 شرف الدين حفني نشر 6 سبتمبر 2021 أرسل تقرير نشر 6 سبتمبر 2021 ال stream هي واجهة تتيح للمبرمج قراءة وكتابة البيانات بشكل متواصل , في العادي إن أردت قراءة ملف ما تقوم بالتالي fs.readFile('/test.txt, 'utf8' , (err, data) => { if (err) { console.error(err) return } console.log(data) }) هنا تقوم الnode js بقراءة الملف كله على الذاكرة ومن ثم يمكنك إجراء العمليات عليه, هنا يوجد مشكلتان ﻻ يمكنك إجراء عمليات على الملف قبل إنتهاء قرائته كلياً إن كان حجم الملف كبير لن تستطيع الذاكرة إستيعابه مما قد يؤدى إلى خطأ Stack over flow ومن هنا يظهر دور الstream حيث تقوم بقراءة البيانات قطعة قطعة const fileSystem = require("fs"); var data = ""; const readStream = fileSystem.createReadStream("test.txt"); readStream.setEncoding("UTF8"); readStream.on("data", (chunk) => { data += chunk; }); readStream.on("end", () => { console.log(data); }); في هذا الكود قمنا بعمل إستماع للحدث(event listening) حيث كل مرة تصل فيها جزأ من البيانات يتم إطﻻق الحدث وتنفيذ الكود readStream.on("data", (chunk) => { data += chunk; }); وعند إنتهاء البيانات يتم إطﻻق حدث الإنتهاء وتنفيذ الكود readStream.on("end", () => { console.log(data); }); وكما تﻻحظ حتى نستطيع إستخدام الstream قمنا بإنشاء ما يسمى بالreadStream , وهى الstream التي تمكننا من قراءة البيانات ووجه عام يوجد أربع أنواع من الstream readable stream: مسؤلة عن قراءة البيانات writable stream: مسؤلة عن كتابة البيانات duplex stream: يمكنها قراءة البيانات وكتابة البيانات transform stream: تقوم بقراءة البيانات ومعالجتها بشكلٍ ما ومن ثم كتابتها بعد المعالجة اقتباس
السؤال
مروان محمود3
ما المقصود بالstreams في الnode js
1 جواب على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.