Pada artikel kali ini saya akan membahas kelanjutan dari materi javascript asnchronous ya teman-teman yang sebelumnya telah kita singgung di artikel perbedaan antara Perbedaan Javascript Synchronous Dengan Asynchronous. Sekarang kita akan membahas Cara Menggunakan Promise Pada Javascript.

Apa itu promise di javascript ? Javascript Promises ini merupakan javascript tambahan pada ECMAscript 6 yang memberikan solusi penanganan aktivitas asinkron di mana penangan-penanganan aktivitas asinkron dalam Javascript memiliki beberapa kendala. Misal saja penggunaan CALLBACK

Loh bukanya callback itu memmang bagian dari asynchronous ? BETUL,  tetapi callback memiliki kelemahan jika program kita memiliki kompleksitas yang cukup rumit  Silahkan lihat contoh di bawah ini :

const verifyUser = function(username, password, callback){
   dataBase.verifyUser(username, password, (error, userInfo) => {
       if (error) {
           callback(error)
       }else{
           dataBase.getRoles(username, (error, roles) => {
               if (error){
                   callback(error)
               }else {
                   dataBase.logAccess(username, (error) => {
                       if (error){
                           callback(error);
                       }else{
                           callback(null, userInfo, roles);
                       }
                   })
               }
           })
       }
   })
};

Jika di lihat pada code di atas dimana terjadi pemanggilan callback atau anonymous function yang berlebihan di dalam callback sebelumnya,  Biasanya situasi seperti ini di sebut dengan CALLBACK HELL (CALLBACK Nereaka).

Dari namanya saja kita pasti tahu dan wajib untuk menghindarinya Ckckckck.

Lalu bagaimana carnya menghadnle asynchronous tanpa menggunakan callback untuk situasi yang kompleks ? PROMISE lah jawabanya, Di mana proses promise ini lebih mudah di lakukan kitimbang menggunakan callback dan penulisanya hampir mirip seperti synchronous js biasa contohnya :

const getRoles = new function (userInfo) {
   return new Promise((resolve, reject) => {
       database.connect()
           .then((connection) => connection.query('get roles sql'))
           .then((result) => resolve(result))
           .catch(reject)
   });
};

Oke cukup untuk artikel kali ini tentang Cara Menggunakan Promise Pada Javascript semoga bermanfaat untuk teman-teman semuanya, sampai bertemu pada artikel selanjutnya.

Sampai bertemu di artikel selanjutnya yaitu Memahami Promise Pada Javascript Lebih Mendalam 🙂