תוצאה של Promise
חלק מהיחידה יסודות Node.js במסלול ה-Node.js של Coddy. שיעור 19 מתוך 33.
Promise מייצגת תוצאה שתגיע מאוחר יותר. בניגוד לגרסת ה־callback מתוך node:fs, הפונקציה readFile מתוך node:fs/promises לא מקבלת callback ומחזירה promise. המתודה .then שלה מקבלת פונקציה שיש לקרוא לה עם התוצאה כשהקריאה מצליחה.
import { readFile } from 'node:fs/promises';
readFile('name.txt', 'utf8').then((name) => {
console.log('Hello, ' + name);
});הפרמטר name מכיל את הטקסט שבקובץ, ולא promise. יש לכתוב כאן פעולות שתלויות בטקסט. לעת עתה הקובץ מסופק והקריאה מצליחה. בשלב הבא נטפל בקריאה שנכשלת.
אתגר
קלהריצו תחילה את practice.js: הוא מדפיס Note: [object Promise]. התוכנית מחברת את הטקסט להבטחה במקום לתוצאה הסופית שלה.
השתמשו בפונקציית callback של .then כדי להדפיס את הקריאה שהושלמה בתור Note: ואחריו תוכן הקובץ. אם לא מציינים ארגומנט, נקרא note.txt ויוצג Note: Buy milk. נסו את other.txt: צפו שיוצג Note: Call Ada.
נסו בעצמכם
import { readFile } from 'node:fs/promises';
const file = process.argv[2] ?? 'note.txt';
console.log('Note: ' + readFile(file, 'utf8'));
כל השיעורים ביחידה יסודות Node.js
1הרצת JavaScript ב-Node
שלום, Nodeקריאת הפקודהארגומנטים של שורת הפקודהפקודותתרגלו בעצמכם: Express אונליין