# دستور stream.Readable در Node.js
## مقدمه
در این مقاله، به بررسی دستور stream.Readable در Node.js میپردازیم. Node.js یک محیط اجرایی جاوااسکریپتی است که بر روی موتور V8 Chrome توسعه داده شده است و قابلیت اجرای کد جاوااسکریپتی در سمت سرور را فراهم میکند. دستور stream.Readable یکی از مهمترین دستورات در Node.js است که به ما امکان خواندن دادهها از یک جریان را میدهد.
## دستور stream.Readable در Node.js چیست؟
دستور stream.Readable در Node.js یک ابزار قدرتمند است که به ما این امکان را میدهد تا دادهها را به صورت قابل خواندن از یک جریان دریافت کنیم. این دستور از رویدادهای مختلفی مانند `data`، `end` و `error` استفاده میکند و با استفاده از توابعی مانند `read` و `pipe`، میتوانیم دادهها را به صورت قابل خواندن از یک جریان دریافت کنیم.
## نحوه استفاده از دستور stream.Readable
برای استفاده از دستور stream.Readable در Node.js، ابتدا باید ماژول `stream` را وارد کنیم. سپس میتوانیم یک شیء جدید از کلاس `stream.Readable` بسازیم و آن را به عنوان یک جریان استفاده کنیم. سپس با استفاده از رویدادها و توابع مربوطه، دادهها را از جریان خوانده و پردازش کنیم.
“`javascript
const { Readable } = require(‘stream’);
// ساخت یک جریان قابل خواندن
const readableStream = new Readable({
read() {
// خواندن دادهها
}
});
// استفاده از رویدادها
readableStream.on(‘data’, (chunk) => {
// پردازش دادهها
});
// استفاده از تابع pipe
readableStream.pipe(destination);
“`
## استفاده از رویدادها در دستور stream.Readable
دستور stream.Readable از رویدادهای `data`، `end` و `error` استفاده میکند تا دادهها را به صورت قابل خواندن دریافت کند. رویداد `data` هنگامی ایجاد میشود که داده جدیدی در جریان در دسترس باشد. رویداد `end` هنگامی ایجاد میشود که جریان دادهها به پایان برسد. و در نهایت، رویداد `error` هنگام وقوع خطا در جریان ایجاد میشود.
“`javascript
readableStream.on(‘data’, (chunk) => {
// پردازش دادهها
});
readableStream.on(‘end’, () => {
// پایان جریان دادهها
});
readableStream.on(‘error’, (error) => {
// پردازش خطاها
});
“`
## استفاده از تابع `read` در دستور stream.Readable
تابع `read` در دستور stream.Readable برای خواندن دادهها از جریان استفاده میشود. با فراخوانی این تابع، میتوانیم دادهها را به صورت قابل خواندن دریافت کنیم. این تابع یک پارامتر به نام `size` را دریافت میکند که حجم دادههای مورد نظر را برای خواندن مشخص میکند.
“`javascript
readableStream.read(size);
“`
## استفاده از تابع `pipe` در دستور stream.Readable
تابع `pipe` در دستور stream.Readable برای اتصال یک جریان خواندن به یک جریان نوشتن استفاده میشود. با استفاده از این تابع، میتوانیم دادههای خوانده شده را به صورت مستقیم به جریان نوشتن انتقال دهیم.
“`javascript
readableStream.pipe(destination);
“`
## پرسشهای متداول
– دستور stream.Readable در Node.js چه کاربردهایی دارد؟
– چگونه میتوانیم از رویدادها در دستور stream.Readable استفاده کنیم؟
– تابع `read` در دستور stream.Readable چه کاربردهایی دارد؟
– چگونه میتوانیم از تابع `pipe` در دستور stream.Readable استفاده کنیم؟
– چه رویدادهایی در دستور stream.Readable وجود دارد؟
– آیا دستور stream.Readable در Node.js قابلیت خواندن از فایلها را دارد؟
## نتیجهگیری
در این مقاله، به بررسی دستور stream.Readable در Node.js پرداختیم. این دستور به ما امکان خواندن دادهها از یک جریان را میدهد و با استفاده از رویدادها و توابع مربوطه، میتوانیم دادهها را به صورت قابل خواندن دریافت کنیم. همچنین، استفاده از توابع `read` و `pipe` به ما امکانات بیشتری در کنترل و پردازش دادهها میدهد. با استفاده از این دستور به درستی، میتوانیم برنامههای قدرتمندی برای پردازش دادهها در Node.js بنویسیم.