📜  Contoh penggunaan promise - Javascript (1)

📅  最后修改于: 2023-12-03 15:00:01.923000             🧑  作者: Mango

Contoh penggunaan Promise - Javascript

Promise adalah konstruktor yang digunakan untuk merepresentasikan nilai yang belum tersedia secara asinkron dalam JavaScript. Dengan menggunakannya, kita dapat mengelola operasi asinkron dengan cara yang lebih elegan dan mudah dibaca.

Berikut adalah contoh penggunaan Promise dalam JavaScript:

// Fungsi async yang mengembalikan Promise
function getData() {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      const data = 'Data berhasil diambil!';
      if (data) {
        resolve(data); // Promise berhasil
      } else {
        reject('Gagal mengambil data!'); // Promise gagal
      }
    }, 2000);
  });
}

// Menggunakan Promise
getData()
  .then((result) => {
    console.log(result);
  })
  .catch((error) => {
    console.error(error);
  });

Pada contoh di atas, kita memiliki fungsi getData() yang mengembalikan Promise. Di dalam Promise tersebut, kita menggunakan fungsi setTimeout() untuk mensimulasikan operasi asinkron yang membutuhkan waktu 2 detik untuk menyelesaikan tugasnya.

Dalam blok setTimeout(), kita memeriksa apakah data berhasil diambil atau tidak. Jika berhasil, kita memanggil fungsi resolve(data) untuk mengirim data yang berhasil diambil. Jika gagal, kita memanggil fungsi reject('Gagal mengambil data!') untuk mengirim pesan error.

Ketika menggunakan Promise dengan fungsi getData(), kita dapat menggunakan method .then() untuk menangani kasus ketika Promise berhasil dan method .catch() untuk menangani kasus ketika Promise gagal.

Dalam contoh di atas, ketika Promise berhasil (data berhasil diambil), kita mencetak data tersebut menggunakan console.log(result). Sedangkan jika Promise gagal, kita mencetak pesan error menggunakan console.error(error).

Dengan menggunakan Promise, kita dapat melakukan operasi asinkron dengan cara yang lebih terstruktur dan mengelola kasus sukses dan gagal dengan mudah.

Catatan: Pastikan untuk memahami konsep Promise dengan lebih mendalam untuk mengoptimalkan penggunaannya dalam koding JavaScript.