Menu
CoddyTech

انتظار قيمة

جزء من قسم أساسيات Node.js في رحلة Node.js على Coddy. الدرس 22 من 33.

يتيح لك تعبير await كتابة الخطوة التالية بعد القراءة، بدلًا من كتابتها داخل دالة رد نداء then. فهو ينتظر هذا الوعد ويعطيك نتيجته. ويمكن أن يستمر تنفيذ أعمال أخرى أثناء انتظار القراءة.

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

من دون await، سيحتوي text على الوعد، الذي لا يملك أساليب السلاسل النصية. هذه الملفات وحدات، لذا يُسمح باستخدام await خارج دالة. داخل دالة، اجعل الدالة غير متزامنة. كما تُعيد الدالة غير المتزامنة وعدًا إلى المستدعي.

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

تدرّب بنفسك: Playground لـ Express