המתנה לערך
חלק מהיחידה יסודות 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. פונקציה אסינכרונית גם מחזירה הבטחה למי שקורא לה.
אתגר
קלהרץ תחילה את 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
1הרצת JavaScript ב-Node
שלום, Nodeקריאת הפקודהארגומנטים של שורת הפקודהפקודותתרגלו בעצמכם: Express אונליין