Menu
CoddyTech

המתנה לערך

חלק מהיחידה יסודות Node.js במסלול ה-Node.js של Coddy. שיעור 22 מתוך 33.

ביטוי await מאפשר לך לכתוב את השלב הבא אחרי הקריאה, במקום בתוך פונקציית callback של then. הוא ממתין להבטחה הזאת ומחזיר את התוצאה שלה. פעולות אחרות עדיין יכולות להתבצע בזמן שהקריאה ממתינה.

const text = await readFile('name.txt', 'utf8');
console.log(text.toUpperCase());

בלי await, המשתנה text היה מחזיק את ההבטחה, שאין לה מתודות של מחרוזת. הקבצים האלה הם מודולים, ולכן מותר להשתמש ב-await מחוץ לפונקציה. בתוך פונקציה, יש לסמן את הפונקציה כ-async. פונקציה אסינכרונית גם מחזירה הבטחה למי שקורא לה.

challenge icon

אתגר

קל

הרץ תחילה את practice.js. השגיאה אומרת ש־text.toUpperCase is not a function: המשתנה text מכיל הבטחה, ולא את תוכן הקובץ.

דאג ש־text יכיל את תוצאת הקריאה המלאה לפני שהתוכנית משתמשת בו. השאר את פונקציית הקובץ האסינכרונית. הרץ שוב: הפלט הוא BUY MILK.

הרץ עם הארגומנט other.txt: הקובץ השני שסופק חייב להדפיס CALL ADA. השאר את ביטוי שם הקובץ שסופק.

נסו בעצמכם

import { readFile } from 'node:fs/promises';
const text = readFile(process.argv[2] ?? 'note.txt', 'utf8');
console.log(text.toUpperCase());

כל השיעורים ביחידה יסודות Node.js

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