Menu
CoddyTech

عندما يفشل Promise

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

قد يفشل الوعد أيضًا، مثلًا عندما لا يكون الملف موجودًا. يُسمّى ذلك رفضًا. يوفّر .catch الشيفرة التي تُنفَّذ عند الفشل. ويُنفَّذ .finally بعد النجاح أو الفشل، وهذا مفيد لعرض رسالة ختامية.

readFile('weather.txt', 'utf8')
    .then((text) => console.log(text))
    .catch(() => console.log('No file'))
    .finally(() => console.log('Finished'));

عند فشل القراءة، لا يُستدعى رد النداء الخاص بالنجاح. يطبع المثال No file ثم Finished. يجب أن تكون رسالة الفشل داخل catch، كي لا تُطبع عند نجاح القراءة.

challenge icon

التحدي

سهل

شغّل practice.js أولًا: يتسبب الملف المفقود في حدوث خطأ ENOENT غير معالَج.

أبقِ على دالة الاستدعاء عند نجاح القراءة. أضف .catch لطباعة No notes yet عند الفشل، ثم .finally لطباعة Done في كلتا الحالتين. عند عدم تمرير أي وسيطات، تكون الأسطر No notes yet وDone. جرّب note.txt: ستكون الأسطر Buy milk وDone.

جرّب بنفسك

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

جميع دروس أساسيات Node.js

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