Menu
CoddyTech

Promise Başarısız Olduğunda

Coddy'nin Node.js Journey'sinin Node.js Temelleri bölümünün bir parçası. Ders 20 / 33.

Bir promise başarısız da olabilir; örneğin bir dosya yoksa. Buna reddedilme denir. .catch, başarısızlık durumunda çalıştırılacak kodu sağlar. .finally, başarı ya da başarısızlıktan sonra çalışır; bu da kapanış mesajı için kullanışlıdır.

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

Okuma başarısız olduğunda başarı geri çağrısı atlanır. Örnek, No file yazdırır ve ardından Finished yazdırır. Hata mesajı catch içinde yer almalıdır; böylece başarılı bir okuma bu mesajı yazdırmaz.

challenge icon

Görev

Kolay

Önce practice.js dosyasını çalıştır: eksik dosya, yakalanmamış bir ENOENT hatasına neden olur.

Başarılı okuma geri çağırımını koru. Hata durumunda No notes yet yazdırmak için .catch ekle, ardından her iki durumda da Done yazdırmak için .finally ekle. Hiç bağımsız değişken verilmezse satırlar No notes yet ve Done olur. note.txt dosyasını dene: satırlar Buy milk ve Done olur.

Kendin dene

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

Node.js Temelleri bölümündeki tüm dersler

Kendi başına pratik yap: Express playground