Langsung ke konten utama

Javascript: Promise

 

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal di blog belajar bersama javascript. Kali ini saya akan menjelaskan dan sharing materi javascript promise. Berikut poin-poin yang akan kita bahas:

  • Pengertian Promise
  • Membuat dan menggunakan Promise
  • Implementasi AJAX dengan fetch 
  • Rantai Promise / Promise Chaining

 

Pengertian Promise


 

Promise adalah sebuah fitur baru di javascript ES6. Seperti dengan namanya, Promise memiliki arti janji yang artinya pada sebuah janji tersebut apakah ia terpenuhi atau janji tersebuh diingkari / batal. 

Dalam implementasinya juga sama, ketika request AJAX maka akan ada 3 state:

  1.  Pending
  2.  Resolve
  3.  Reject

 Lalu, kita coba bandingkan dengan callback.

Callback or Promise

Pada artikel sebelumnya mengenai callback, saya telah memberi tahu bahwasanya Promise itu merupakan alternatif dari callback. Karena dengan callback jika kita gunakan secara berulang akan menciptakan sebuah callback hell yang lumayan sulit dibaca untuk manusia dan tentunya jika ada bug akan sulit untuk di fix. Lalu apa perbedaan callback dengan promise? berikut perbedaan-perbedaan antara keduanya:

  1. Callback: Berupa function. Promise: Berupa object
  2. Callback: Dikirim sebagai parameter. Promise: Me-return sebuah object

 

Membuat dan Menggunakan Promise

Kita dapat membuat sebuah promise dengan cara memanggil constructornya saja:

Maka ia akan menghasilkan Promise { <pending> }

Kita dapat mengatur state tersebut apakah terpenuhi atau tidak. Untuk codingan diatas dapat menggunakan then untuk resolve dan catch untuk reject.

Jika terpenuhi ia akan console berhasil seperti ini hasilnya:


Implementasi AJAX dengan fetch

fetch merupakan sebuah web api milik browser untuk merequest data dan penyingkatan dari sebuah ajax request.

Contoh kita akan merequest pada public api yaitu https://jsonplaceholder.typicode.com/posts dan berikut codingannya:


 Hasilnya:


 Data telah terambil. Kita juga dapat memunculkannya kedalam HTML menggunakan JS DOM.

 

Rantai Promise

Kita akan membuat promise berantai yang artinya then dalam then yang akan mengembalikan data postingan dan authornya. Alurnya seperti ini:

  1. Ambil id postingan
  2. Lalu kita ambil userId dalam data postingan tersebut dan dimasukkan kedalam function yang digunakan untuk mencari user tersebut
  3. Kembalikan data postingan dan author
  4.  Lalu tampilkan hasilnya dalam console
  5. Jika error lemparkan error 

Berikut kodingannya:

Hasilnya seperti :

Postingan dan authornya ditampilkan


Mungkin sekian saja untuk pertemuan kali ini, mohon maaf bila ada kesalahan. Wassalamualaikum wr wb.


Komentar

Postingan populer dari blog ini

Javascript: Operator Arithmetic

Operator Arithmetic   Halo teman-teman, kembali lagi dengan saya haikal pada materi javascript dasar. Materi ini akan berkaitan dengan materi sebelumnya yaitu dengan data type dan variable bagi yang belum mengikuti materi sebelumnya boleh dibaca terlebih dahulu linknya Javascript: Data Types and Variable . Nah, pada hari ini kita akan mempelajari sebuah operasi aritmatika pada bahasa javascript. Lah, kan katanya kemarin mau ngebahas tentang function dan object?. Sabar gan, kita belajar dulu dari dasarnya karena untuk materi function dan object cukup kompleks. Karena materi ini juga tak kalah menarik. Ok mari kita masuk ke materinya!. Pasti teman-teman udah tau dong apa itu aritmatika. Yap! aritmatika seperti pejumlahan, pengurangan, pembagian, perkalian dan modulus. Dalam bahasa javascript kita dapat penghitung dengan operasi ini. Langung saja kita peraktikan. Penjumlahan Pertama-tama teman-teman buat terlebih dahulu file html dan javascriptnya karena kita akan menggunakan console...

Javascript: DOM Document

 Document Assalamualaikum wr wb. Halo teman-teman gimana kabarnya? semoga sehat selalu dan bisa menjalani aktifitas dengan lancar. Yap, kita kembali lagi berjumpa di materi javascript dom melanjutkan materi sebelumnya. Bagi teman-teman yang belum mengikuti materi sebelumnya, saya sarankan untuk dibaca terlebih dahulu.   DOM Document Seperti pengertian sebelumnya, HTML DOM merupakan sebuah dokumen objek yang merepresentasikan halaman website. Dengan begitu kita dapat mengubah, menghapus dan membuat elemen dan attributnya ataupun value dari tag HTML. Seperti sebelumnya kita menggunakan  innerHTML untuk megisi konten dari tag <p>. Sekarang kita akan mencoba menggunakan method lain untuk mengakses DOM. Mencari Elemen / Tag HTML document.getElementById('nama_id'); document.getElementsByClassName('nama_class'); document.getElementsByTagName('nama_tag'); Untuk mencari elemen dengan classname dan tagname sebenarnya hampir mirip. Karena banyak tag bisa menggunakan ...

Javascript: 4 Fakta Menarik Tentang Javascript

 Assalamualaikum wr wb. Halo guys kembali lagi dengan saya Haikal. Kali ini saya akan membagi fakta-fakta menarik tentang javascript. Seperti yang kalian tau blog ini membahas seputar javascript dan kita akan men-highlight fakta - fakta menarik tentang javascript ini, 1. Immediately-Invoked Function Expression Seperti yang kalian tahu, javascript memiliki sebuah keunikan yang dimana function dapat dipanggil secara langsung menggunakan () setelah function tersebut di deklarasi. Tapi tahukah kalian jika kalian menyimpan 2 function seperti ini: See the Pen iminfunex by haikal ( @haikul ) on CodePen . Function kedua akan error dan mengalami kesalahan sintaks. 2. Semicolon Javascript dapat berjalan dengan dan tanpa semicolon. Kalau bahasa pemrograman pada umumnya ia mengharuskan mengakhiri baris kode dengan sebuah semicolon. Tapi tahukah kalian bahwa semicolon dapat di tempatkan di awal baris sebuah kode seperti ini: See the Pen pre-semicolon by haikal ( @haikul ) on Code...