כיצד להשתמש בזרמים קריא ב-Node.js?

Kyzd Lhstms Bzrmym Qry B Node Js



הנתונים מועברים על גבי הרשת בין הצדדים של השולח או המקור והיעד או המקלט בצורה של זרמים. ניתן ליצור ולשלב את הזרמים הללו תוך שימוש במספר שיטות, וניתן להעביר את קבצי האודיו או הווידאו גם על פני הזרם. ניתן להכניס את נתוני הקריאה לקבצים ממוקדים אחרים באמצעות ' לִכתוֹב() ' ו' לִדחוֹף() 'גם שיטות.

מדריך זה יסביר את השימוש בזרמים קריאים ב-Node.js.

כיצד להשתמש בזרמים קריא ב-Node.js?

ה ' קָרִיא ' זרמים נוצרים על ידי הפעלת ' createReadStream() וניתן להציג את נתוני הקריאה בדף האינטרנט על ידי יצירת השרת המקומי. מאזיני האירוע בעזרת ' עַל() ניתן לצרף שיטות גם לזרמים הניתנים לקריאה כדי להציג הודעות או לבצע פעולות ספציפיות כאשר הקריאה של הקובץ מתחילה או מסתיימת.







עיין בדוגמה להדגמה מעשית.



דוגמה: קריאה והצגת תוכן בשרת באמצעות זרמים קריא

בדוגמה זו, התוכן של קובץ מסופק נקרא ולאחר מכן מוצג בדפדפן האינטרנט:



const fsObj = לִדרוֹשׁ ( 'fs' ) ;

const httpObj = לִדרוֹשׁ ( 'http' ) ;

const שרת מקומי = httpObj. createServer ( ( בקשת תגובה ) => {

לְנַסוֹת {
// קובץ ממוקד לקריאה
const זרם נתונים = fsObj. ליצורReadStream ( 'usecase.txt' ) ;
// העבר את הקובץ לתגובה
זרם נתונים. צינור ( תְגוּבָה ) ;
} לתפוס ( שגיאות ) {
לְנַחֵם. שְׁגִיאָה ( שגיאות ) ;
}
} ) ;

שרת מקומי. להקשיב ( 8080 , ( ) => {
לְנַחֵם. עֵץ ( 'השרת פועל על מספר יציאת Localhost: '8080' ' )
} ) ;

התיאור של הקוד לעיל הוא כדלקמן:





  • ראשית, ייבא את ' fs ' ו' http 'מודולים ולאחסן את האובייקטים שלהם ב' fsObj ' ו' httpObj ' משתנים בהתאמה.
  • לאחר מכן, השרת נוצר על ידי הפעלת ה-' createServer() שיטת ' ואחסון השרת החדש שנוצר ב' שרת מקומי 'משתנה.
  • לאחר מכן, השתמש ב-' לְנַסוֹת ' לחסום בתוך פונקציית ההתקשרות חזרה של השיטה ולהפעיל את ' createReadStream() שיטת ' באמצעות ' fsObj 'משתנה.
  • העבר את תוכן הקובץ הממוקד שצריך לקרוא בתוך סוגריים של שיטה זו ואחסן את התוצאה ב' זרם נתונים 'משתנה.
  • הכנס את ה ' זרם נתונים ' משתנה לתוך ' .צינור() ' שיטה לשליחת התגובה.
  • השתמש ב' לתפוס ' לחסום כדי לטפל בשגיאות שהתרחשו.
  • לבסוף, האזן או הגדר את השרת על מספר היציאה ' 8080 ' ולהציג את הודעת ההצלחה בעזרת פונקציית ההתקשרות חזרה שלו.

בצע את הקובץ המכיל (controlFlow.js) של הקוד שלמעלה, שהוא באמצעות הפקודה שצוינה להלן:

צומת controlFlow. js

הפלט שנוצר מראה שבעזרת ' .צינור() ' ו' זרם קריא ', נתוני הקובץ נקראו ונשלחו לזרם היעד כדי להציג אותם בדף האינטרנט:



דוגמה 2: קריאת קבצים סטטיים באופן מקומי באמצעות ReadStream

במקרה זה, הקובץ שסופק מעל הזרם נבחר והתוכן שלו מוצג על פני חלון המסוף בעזרת מאזיני אירועים:

const fsObj = לִדרוֹשׁ ( 'fs' ) ;

const streamObj = fsObj. ליצורReadStream ( 'usecase.txt' ) ;

streamObj. עַל ( 'נתונים' , ( תוֹכֶן ) => {

לְנַחֵם. עֵץ ( תוֹכֶן. toString ( ) ) ;

} ) ;

streamObj. עַל ( 'סוֹף' , ( ) => {

לְנַחֵם. עֵץ ( ' \n סיימתי לקרוא את הקובץ'. ) ;

} ) ;

streamObj. צינור ( תהליך. stdout ) ;

התיאור של הקוד לעיל הוא כדלקמן:

  • קודם ה ' fs מודול 'מיובא והאובייקט שלו מאוחסן ב' fsObj 'משתנה.
  • לאחר מכן, באמצעות ' fsObj ' קורא את ' createReadStream() ” שיטה ומעביר את הנתיב של הקובץ הממוקד שצריך לאחזר את תוכנו. אחסן את התוצאה של השיטה במשתנה חדש ' streamObj '.
  • צרף את ' עַל() 'שיטה עם 'streamObj' אשר מפעילה פונקציית התקשרות חוזרת כאשר ' נתונים ' מאוחזר. הנתונים המאוחזרים מועברים כפרמטר עבור פונקציית ה-callback הממירה את הנתונים לפורמט String ומציגה אותם על גבי המסוף.
  • שוב צרף את ' עַל() 'שיטה עם ' streamObj ' והפעם פונקציית ה-callback שלו מציגה הודעת סיום כאשר קריאת הקובץ מסתיימת.

הפלט שנוצר לאחר ביצוע הקוד לעיל מראה שנתוני הקריאה לאורך הודעת הסיום הוצגו על גבי המסוף:

זה הכל לגבי השימוש בזרמים קריאים ב-Node.js.

סיכום

כדי לעבוד עם זרמים קריאים ב-Node.js, השיטה של ​​' createReadStream() ' מופעל באמצעות ' fs אובייקט מודול. נתיב הקובץ הממוקד עליו צריך לכתוב את התוכן מועבר כפרמטר השיטה. ניתן להשתמש בו עם ' .צינור() שיטה לביצוע משימות נוספות על הנתונים שאוחזרו כמו כתיבת התוכן בקובץ אחר. פוסט זה המחיש את הליך העבודה עם זרמים קריאים.