Async Waterfall pada Node JS



Gelap malam mulai datang 
Cahaya rembulan tertutup oleh pekatnya awan, membuat malam terasa mencekam, apalagi sedikit sambaran petir menambah ketakutan. Lampu - lampu jalanan juga enggan menyala akibat derasnya guyuran hujan membuat PLN melakukan pemadaman. Untung saja aku masih berada di kantor dimana aku bekerja. cahaya lampu dan dinginnya AC masih bisa kurasakan. entah bagaimana caranya tapi ya sudahlah yang penting obrolan dengan sahabat membuat suasana masih hangat dan penuh tawa.

Butuh waktu sampai hujan rendah. dalam bahasa pemrograman bisa dikatagorikan sebagai alur waterfall.  alur waterfall adalah alur yang memproses data dari atas sampai kebawah, agar suatu alur waterfall benar - benar berjalan dari atas kebawah, biasanya pada pemrograman javascript menggunakan ansync.waterfall. 

Struktur secara umum, ansync.waterfall  sebagai berikut :

ansync.waterfall(argument1, argument2)

argument1 bisa terdiri dari satu function atau gabungan dari beberapa function  yang membentuk satu array function. Seperti contoh berikut ini :

function(callback){
    connection.query(SELECT * FROM  users, function(err, row){
    if (err){
        callback(err, null)
    }else{
        callback(null, err)
    }
}),

*) callback adalah nilai  yang nantinya di panggil kembali di function selanjutnya yang memiliki struktur  yang sama, jika di dalam callback terdapat tiga unsur argument maka dia akan mencari function selanjutnya yang terdiri dari tiga argument. pada callback diatas saya memberi dua argument, jadi dia akan dipanggil kembali di function selanjutnya yang memiliki dua argument, seperti berikut :

function(response, callback){
     if(response == "anton samba"){
         var namaresponse = "Nama nya bener anton samba hihihihi"
         callback(null,  namaresponse)
     }else{
         var error = "Namanya ternyata C. Ronaldo maaf salah"
         callback(error, null)
     }
 }

Jika function pertama digabungkan menjadi dua array function maka di himpit dengan "[ ]". sperti berikut ini :


[
     function(callback){
          connection.query(SELECT * FROM  users, function(err, row){
          if (err){
              callback(err, null)
          }else{
              callback(null, err)
          }
       }),
       function(response, callback){
           if(response == "anton samba"){
              var namaresponse = "Nama nya bener anton samba hihihihi"
              callback(null,  namaresponse)
       }else{
           var error = "Namanya ternyata C. Ronaldo maaf salah"
           callback(error, null)
       }
     }
 ]

argument2  sama seperti  argument1, biasanya argument2 digunakan sebagai function penutup. Seperti contoh berikut :

function(error, response){
      if(error){
          console.log("============== error ==========\n", error)
     }else{
          console.log("============== success -=========\n", response)
    }
}

full program sederhananya seperti berikut :

ansync.waterfall(
     [
      function(callback){
            connection.query(SELECT * FROM  users, function(err, row){
            if (err){

                callback(err, null)
            }else{
                callback(null, err)
            }
      }),
      function(response, callback){
            if(response == "anton samba"){
                 var namaresponse = "Nama nya bener anton samba hihihihi"
                 callback(null,  namaresponse)
            }else{
                 var error = "Namanya ternyata C. Ronaldo maaf salah"
                 callback(error, null)
           }
      }
      ],
      function(error, response){
           if(error){
                 console.log("============== error ==========\n", error)
           }else{
                console.log("============== success -=========\n", response)
           }
     }
)

Gimana mudah banget kan, untuk function didalam array teman - teman bisa menambahkan semauanya. tapi semakin banyak function yang di masukkan proses untuk mendapatkan output semakin banyak pula, itulah kelebihan dan kekurangan dari ansyc.waterfall.

Mudah banget kan, silahkan dicoba ........šŸ˜‹




Async Waterfall pada Node JS Async Waterfall pada Node JS Reviewed by ioacode on January 21, 2020 Rating: 5

2 comments:

  1. Mudah sih tapi susah bedain mana codingan dan mana tulisan wkkwwkwkwk !

    ReplyDelete
  2. Thanks kak masukannya . Udah kita perbaiki �� !

    ReplyDelete

Powered by Blogger.