Menu
CoddyTech

Callback

Termasuk bagian Dasar-Dasar Node.js dalam perjalanan Node.js di Coddy. Pelajaran 14 dari 24.

Membaca file besar membutuhkan waktu, dan program yang hanya menunggu file tersebut tidak melakukan hal lain sementara itu.

fs.readFile(path, 'utf8', callback) memulai pembacaan lalu langsung mengembalikan kendali. Saat file selesai dimuat, Node memanggil callback-mu dengan (err, text). err bernilai null jika berhasil dan berisi error jika tidak, jadi periksa terlebih dahulu. Semua hal yang membutuhkan teks harus dilakukan di dalam callback.

import fs from 'node:fs';

fs.readFile('poem.txt', 'utf8', (err, text) => {
    if (err) {
        console.log('No poem today');
        return;
    }
    console.log(text.split('\n').length + ' lines');
});
console.log('Asked for the poem');

Asked for the poem dicetak terlebih dahulu: baris setelah readFile dijalankan saat file masih dimuat.

challenge icon

Tantangan

Mudah
  • count.js menampilkan Reading..., lalu <n> notes dari dalam callback, kemudian Done, juga dari callback.
  • Jika file tidak dapat dibaca, file menampilkan Cannot read <file>, bukan jumlahnya.

Jalankan node count.js, lalu node count.js nothere.json.

Coba sendiri

import fs from 'node:fs';

const file = process.argv[2] ?? 'notes.json';

console.log('Reading...');
// Baca file dengan fs.readFile dan callback.
// Cetak jumlah catatan, lalu Done.
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar Node.js

Latihan sendiri: Playground Express