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
Reviewed by sdiik
on
January 21, 2020
Rating:

Mudah sih tapi susah bedain mana codingan dan mana tulisan wkkwwkwkwk !
ReplyDeleteThanks kak masukannya . Udah kita perbaiki �� !
ReplyDelete