Show Judul artikel ini mungkin agak sedikit bombastis: "Promise : Sebuah Janji Eksekusi dari Javascript". Promise adalah sebuah mekanisme dari standar ECMAScript 2015 yang memungkinkan kita melakukan eksekusi kode fungsi Javascript asynchronous (salah satunya adalah request AJAX) dan mendapatkan nilai balik (return value) dari eksekusi kode tersebut tidak secara langsung, melainkan berupa objek "Promise" yang menjanjikan eksekusi di masa yang akan datang! Paham? Tidak? kalau teman-teman pembaca tidak paham itu wajar, saya juga awalnya bingung kenapa pula ini ada fitur di bahasa pemrograman pake "janji-janji" segala!? Mari kita tengok definisi dari Promise yang saya kutip dari dokumentasi Mozilla Developer Network : A Promise is a proxy for a value not necessarily known when the promise is created. It allows you to associate handlers with an asynchronous action's eventual success value or failure reason. This lets asynchronous methods return values like synchronous methods: instead of immediately returning the final value, the asynchronous method returns a promise to supply the value at some point in the future. Masih belum mudeng? sama saya juga hahaha🤣🤣🤣! Kalau begitu mari kita lihat contoh kode HTML dan Javascript sebagai berikut sebagai berikut: promise.html
Hasil yang muncul adalah sebagai berikut: Apa yang terjadi? ternyata tidak sesuai apa yang kita harapkan! tag Loh mas ngapain ribet, heeellllooowwww?? ubah aja kode-nya, misalnya lakukan eksekusi fungsi Hehehe, silahkan saja dicoba, paling nanti ada saatnya kepentok lagi hehehe 😬😬😬. Kegagalan kode di atas terjadi karena eksekusi kode promise1.html
Dengan kode ini kita akan melihat hasil seperti berikut ini: Penjelasan sederhana dari kode ini adalah, ketika kita menggunakan
Promise, maka kita menggunakan callback ChainingSalah satu kelebihan dari Promise adalah memungkinkan terjadinya chaining atau eksekusi Promise berantai, fitur ini berguna ketika kita ingin melakukan eksekusi kode secara berantai dimana eksekusi kode dilakukan benar-benar setelah eksekusi kode sebelumnya sudah selesai atau terpenuhi, seperti bisa kita lihat pada kode berikut: promise2.html
Kita akan melihat hasil sebagai berikut untuk kode di atas: Syntax alternatif untuk chaining Promise menggunakan standar ES2017 adalah dengan
menggunakan promise3.html
Promise.allAda kalanya dalam membangun aplikasi web interaktif dengan Javascript kita ingin suatu kode dieksekusi ketika semua persyaratan (eksekusi kode lain) sudah terpenuhi, tanpa memperdulikan urutan selesai-nya persyaratannya tersebut. Misalnya kita melakukan request AJAX ke banyak sumber yang berbeda dan setelah semua request AJAX selesai kita akan mengeksekusi kode terakhir yang menampilkan kotak alert
menandakan bahwa semua request tersebut telah selesai, maka kita bisa menggunakan metode promise-all.html
Ketika kita menggunakan Apa Itu Promise di javascript?Sooo jadi promise adalah Sebuah mekanisme baru pada fitur javascript / ES6 yang merepresentasikan sebuah object request pengolahan data yang dilakukan secara asynchronous seperti ajax, dan promise ini mewakili sebuah operasi yang belum selesai, tetapi diharapkan di masa mendatang.
Kapan kita menggunakan asynchronous?Proses asynchronous sering digunakan untuk komunikasi data, karena data menjadi bagian inti dari sebuah aplikasi maka konsep asynchronous sangat penting untuk dipahami.
Apa itu async Await Javascript?Async/await adalah fitur yang hadir sejak ES2017. Fitur ini mempermudah kita dalam menangani proses asynchronous.Async/Await merupakan sebuah syntax khusus yang digunakan untuk menangani Promise agar penulisan code lebih efisien dan rapih.
Apa itu callback function javascript?Berkaitan dengan pemrograman pada Javascript maka pengertian callback adalah bahwa function akan segera dijalankan setelah function utama dijalankan. Penggunaan callback pada Javascript ini terutama jika berkaitan dengan function yang asinkron misalnya setTimeout misalnya seperti source code di bawah ini.
|