Promises


Promises adalah cara yang kuat untuk mengelola asynchronous code dalam Node.js. Mereka digunakan untuk menangani operasi yang memerlukan waktu, seperti pengambilan data dari database atau permintaan HTTP, tanpa menghentikan eksekusi program.

Membuat Promise

Untuk membuat Promise, Anda dapat menggunakan konstruktor Promise. Berikut contohnya:

const myPromise = new Promise((resolve, reject) => {
  // Logic asynchronous di sini
  if (sukses) {
    resolve("Data berhasil diambil");
  } else {
    reject("Terjadi kesalahan");
  }
});

Menggunakan Promise

Setelah Anda membuat Promise, Anda dapat menggunakannya dengan menggunakan .then() untuk menangani hasil sukses dan .catch() untuk menangani kesalahan. Berikut contoh penggunaannya:

myPromise
  .then((result) => {
    console.log(result); // Output: Data berhasil diambil
  })
  .catch((error) => {
    console.error(error); // Output: Terjadi kesalahan
  });

Contoh Lengkap

Berikut adalah contoh lengkap menggunakan Promises untuk membaca file dalam Node.js:

const fs = require('fs');

function bacaFile(namaFile) {
  return new Promise((resolve, reject) => {
    fs.readFile(namaFile, 'utf8', (err, data) => {
      if (err) {
        reject(err);
      } else {
        resolve(data);
      }
    });
  });
}

// Menggunakan Promise
bacaFile('data.txt')
  .then((data) => {
    console.log(data);
  })
  .catch((error) => {
    console.error(error);
  });

Ini adalah dasar dari Promises dalam Node.js. Anda dapat menggunakannya untuk mengelola asynchronous code dengan lebih mudah dan terstruktur. Semoga tutorial ini membantu!