Tahun baru, skill baru! 🚀. Masukkan kupon "skill2025" untuk diskon 30% di kelas apa saja

Logo Koala Skodev mengetik

Skodev

Belajar coding dalam bahasa Indonesia

CARA MENGONVERSI CALLBACK MENJADI PROMISE DENGAN `UTIL.PROMISIFY`

Pelajari cara mudah mengonversi fungsi callback menjadi promise di NodeJS menggunakan `util.promisify`, sehingga kode lebih bersih dan modern.

Saat bekerja dengan NodeJS, sering kali kita berhadapan dengan fungsi callback. Namun, ada cara yang lebih modern dan bersih untuk menangani asinkron, yaitu dengan menggunakan promise. Dalam artikel ini, kita akan membahas bagaimana mengonversi callback menjadi promise dengan util.promisify.

Apa itu util.promisify?

util.promisify adalah modul bawaan di NodeJS yang memungkinkan kita mengonversi fungsi callback menjadi fungsi yang mengembalikan promise. Ini sangat berguna untuk meningkatkan keterbacaan dan pengelolaan alur kode asinkron.

Mengapa Menggunakan Promise?

  • Kemudahan membaca: Kode berbasis promise lebih mudah dipahami dibandingkan dengan callback, terutama jika terjadi callback hell.
  • Penanganan error yang lebih baik: Menggunakan .catch() untuk menangani error bisa lebih intuitif.
  • Komposisi kode lebih rapi: Kamu bisa menggunakan async/await untuk membuat alur kode yang lebih linear dan mudah diikuti.

Cara Menggunakan util.promisify

Berikut adalah langkah-langkah untuk mengonversi callback menjadi promise:

  1. Import util:

    Kamu harus mengimpor modul util dari NodeJS untuk menggunakan fungsi promisify.

    const util = require('util');
  2. Konversi Fungsi Callback:

    Misalnya, kita memiliki fungsi fs.readFile yang masih menggunakan callback. Kita bisa mengonversinya seperti ini:

    const fs = require('fs');
    const readFilePromise = util.promisify(fs.readFile);
  3. Menggunakan Fungsi yang Sudah Dipromisify:

    Setelah dikonversi, kamu bisa menggunakannya seperti promise pada umumnya.

    readFilePromise('path/to/file.txt', 'utf8')
      .then(data => {
        console.log(data);
      })
      .catch(error => {
        console.error(error);
      });

Dengan menggunakan util.promisify, kamu dapat dengan mudah mengubah fungsi callback menjadi lebih modern dan nyaman digunakan. Ini sangat bermanfaat untuk menjaga agar kode tetap bersih dan terstruktur.


Daftar newsletter skodev masukkan emailmu untuk dapat informasi menarik dari dunia koding