Tanggal :4 Agustus 2020

Javascript Promise

Artikel ini bagian ke 1 dari 3 seri dalam artikel berseri "Belajar Javascript"

Assalamualaikum Warahmatullahi Wabarakatuh.

Di pembahasan tentang Javascript kali ini kita akan membahas tentang Promise. Oh iya untuk kalian yang belum tahu tentang Javascript, kalian bisa membuka Apa Itu Javascript.

Ada yang udah pernah dengar tentang Promise? Tentu saja sebagian dari kalian sudah mengetahui apa itu Promise. Bagi kalian yang sudah mengetahui tentang Promise anggap saja untuk mereview ulang hehe. Untuk teman-teman yang belum mengetahui tentang Promise yuk langsung bahas saja.

Apa Itu Promise?

Secara sederhana Promise merupakan sebuah janji. Logika cara kerja Promise sama seperti selayaknya kamu membuat janji dengan seseorang. Contohnya kamu membuat janji dengan temanmu untuk belajar bersama. Terdapat beberapa kemungkinan yang terjadi kepada janji yang kamu buat dengan temanmu tadi yaitu kamu belum memenuhi janjimu, kamu sudah memenuhi janjimu, atau kamu tidak memenuhi janji bekerja kelompokmu.

Layaknya kamu membuat janji, terdapat tiga kemungkinan state yang dapat terjadi di dalam Promise, antara lain:

  • Pending : Dalam keadaan awal, tidak terpenuhi atau tidak ditolak
  • Fulfilled : Artinya terpenuhi atau sukses
  • Rejected : Artinya tidak terpenuhi atau gagal

Bagaimana Cara Menggunakan Promise?

Sekarang kita akan masuk ke bagaimana cara menggunakan Promise sendiri. Pertama kita akan memanggil contructor dari Promise dan memberikan parameter resolve dan reject seperti kode dibawah

let p = new Promise((resolve, reject) => {
    // Isi dari promise yang akan dibuat
});

Resolve menyatakan bahwa Promise telah dijalankan dengan sukses dan mengembalikan sebuah nilai, sedangkan Reject menyatakan bahwa Promise ditolak dengan alasan yang telah diberikan. Lalu kita akan memasukan bentuk Promise apa yang ingin kita masukan kedalamnya

setTimeout(() => {
        if (janji === "bernyanyi") {
            resolve("Penonton senang")
        }  else {
            reject("Anda tidak bernyanyi")
        }
    }, 2000)

Sekarang kita akan menggunakan method then dan catch untuk mengetest Promise yang telah kita buat. Fungsi dari then dan catch ini sendiri ialah then akan menghandle hasil eksekusi baik itu berhasil maupun gagal, sedangkan catch akan menghandle bila terdapat error pada kode.

p.then((result) => {
    alert(result)
}).catch((error) => {
    alert(error)
})

Berikut merupakan bentuk full dari kode diatas

let janji = "bernyanyi"

let p = new Promise((resolve, reject) => {
    setTimeout(() => {
        if (janji === "bernyanyi") {
            resolve("Penonton senang")
        }  else {
            reject("Anda tidak bernyanyi")
        }
    }, 2000)
})

p.then((result) => {
    alert(result)
}).catch((error) => {
    alert(error)
})

Berikut merupakan contoh lain dari penggunaan Promise.

new Promise(function(resolve, reject) {
    setTimeout(() => resolve("Beli bakso"), 1000); 
})
.then(function(result) {
    alert(result);
    return new Promise((resolve, reject) => {
        setTimeout(() => resolve("Makan bakso"), 1000);
    });
})
.then(function(result) {
alert(result);
    return new Promise((resolve, reject) => {
        setTimeout(() => resolve("Membayar bakso"), 1000);
    });
})
.then(function(result) {
    alert(result);
});

Baiklah sekian pembahasan singkat tentang Javascript Promise, Semoga dapat bermanfaat bagi pembaca semuanya. Jika kalian tertarik untuk belajar lebih dalam tentang Promise kalian dapat membuka link ini. Jika terdapat salah kata atau maksud dalam pembahasan penulis mohon maaf dan sampai jumpa di pembahasan Javascript selanjutnya.

Wassalamualaikum Warahmatullahi Wabarakatuh.

One Ping

  1. Pingback: Belajar Javascript : Javascript Async/Await - Kawan Koding

2 Comments

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *