Menu
CoddyTech

תוצאה של 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. יש לכתוב כאן פעולות שתלויות בטקסט. לעת עתה הקובץ מסופק והקריאה מצליחה. בשלב הבא נטפל בקריאה שנכשלת.

challenge icon

אתגר

קל

הריצו תחילה את 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

תרגלו בעצמכם: Express אונליין