Menu
CoddyTech

Saat Promise Gagal

Termasuk bagian Dasar-Dasar Node.js dalam perjalanan Node.js di Coddy. Pelajaran 20 dari 33.

Sebuah promise juga bisa gagal, misalnya saat sebuah file tidak ada. Itu disebut penolakan. .catch menyediakan kode yang dijalankan saat terjadi kegagalan. .finally dijalankan setelah berhasil atau gagal, dan ini berguna untuk pesan penutup.

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

Saat pembacaan gagal, callback keberhasilannya dilewati. Contoh ini mencetak No file, lalu Finished. Pesan kegagalan sebaiknya diletakkan di catch, agar pembacaan yang berhasil tidak mencetaknya.

challenge icon

Tantangan

Mudah

Jalankan practice.js terlebih dahulu: file yang hilang menyebabkan error ENOENT yang tidak tertangani.

Pertahankan callback pembacaan yang berhasil. Tambahkan .catch untuk mencetak No notes yet saat terjadi kegagalan, lalu .finally untuk mencetak Done untuk kedua hasil. Tanpa argumen, barisnya adalah No notes yet dan Done. Coba note.txt: barisnya adalah Buy milk dan Done.

Coba sendiri

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

Semua pelajaran di Dasar-Dasar Node.js

Latihan sendiri: Playground Express