Apabila anda telah terbiasa menggunakan callback
pada saat mengolah code yang bersifat asynchronous
, itu adalah hal yang bagus.
Callback
Sekilas mengenai callback
, sudah cukup apabila hanya menghandle flow kode yang tidak terlalu kompleks.
Tetapi apa yang terjadi apabila jumlah baris kode anda sangat banyak, tentu saja akan menyulitkan pada saat mengorganisir dan debugging
khususnya.
Kode diatas adalah contoh callback
yang apabila semakin dalam subprosesnya (nested
), maka kode akan semakin tidak rapi dan menyulitkan untuk mengorganisir kode. Kejadian seperti ini dikenal dengan istilah callback hell
.
Promises
Promise (then
)
Dengan adanya fitur promise
, ini akan memudahkan kita dalam mengorganizir setiap potongan kode yang bersifat asynchronous.
Dari contoh diatas, kKita juga dapat membuat setiap potongan kode async menjadi pipeline yang tersusun rapi dan mudah untuk dibaca.
Async-Await
Jika contoh diatas menggunakan promise
, pada contoh ini kita akan menggunakan async
dan await
keyword. Keyword async-await
memberikan cara lain dalam mengekspresikan penulisan code program kita. Perhatikan contoh potongan berikut
Bisa kita perhatikan, ekspresi kode dengan menggunakan async-await
lebih ringkas dan flow code-nya terlihat friendly.
Conclusion
Setelah melihat dan mengerti cara menulis promise
ataupun async-await
, kita dapat menulis kode program kita menjadi lebih mudah dibaca dan lebih mudah manage kode program kita.
Penulisan menggunakan promise atau async-await cukup relative bergantung dengan context dan case setiap masalah yang akan diselesaikan.
Top comments (0)