Kesalahan Penggunaan Promise Javascript

Image for post
Image for post

Jika kita menggunakan Javascript, salah satu masalah yang sering kita hadapi adalah sendiri memungkinkan sebuah baris dieksekusi tanpa harus ditunggu, contohnya ketika ada baris B1 dan B2 dan baris B1 bersifat maka B2 akan jalan terlebih dahulu tanpa perlu menunggu proses di B1 selesai.

Untuk mengatasi masalah yang ditimbulkan karena pola tersebut, ada metode callback, namun ini akan menimbulkan masalah , dimana akan terjadi bertingkat. Contohnya:

Untuk mengatasi masalah tersebut, ada metode lain yang bisa digunakan yaitu . Contohnya

Dalam penggunaannya akan sangat membantu kita, namun untuk itu sebaiknya kita mengenal terlebih dulu beberapa kesalahan mendasar penggunaan .

Kesalahan dasar pemula #1: Promise berbentuk piramida

Kesalahan dasar pertama adalah pola yang kita buat menjadi berbentuk piramida dan mirip seperti yang sudah kita bahas di atas tadi. Contoh:

Untuk mengatasi hal tersebut, kita bisa menerapkan pola yang lebih baik. Contoh:

Pada contoh di atas, kita selalu membuat promise jika dan hanya jika sebuah promise sebelumnya telah selesai.

Kesalahan dasar pemula #2: Promise dalam forEach

Ketika digunakan pada sebuat , sering terjadi kesalah mendasar dengan tidak memanfaatkan fungsi dari itu sendiri. Contoh:

Masalah yang terjadi di atas adalah fungsi tersebut berjalan secara asynchronous sehingga tidak menunggu fungsi db.remove() . Untuk mengatasinya kita dapat memanfaatkan Promise.all() . Contoh:

Secara singkat, Promise.all() akan menerima input berupa yang akan menghasilkan yang akan diselesaikan setelah yang lain diselesaikan.

Kesalahan dasar pemula #3: Melupakan penggunaan .catch()

Ketika tidak menggunakan .catch() maka kita akan kesulitan untuk mengetahui kesalahan yang terjadi, untuk itu kita harus membiasakan penggunaan catch() untuk setiap yang kita buat. Contoh:

Kesalahan dasar pemula #4: Menggunakan “deferred”

Pada awalnya kita mengenal , namun saat ini kita sudah memiliki banyak pendukung yang lebih baik seperti , dll.

Kesalahan dasar pemula #5: Memanfaatkan Promise tanpa mengembalikan Promise tersebut

Contoh:

Kesalahan yang terjadi adalah kita tidak akan mengetahui proses dan kesalahan yang ada.

Untuk itu kita disarankan untuk menggunakan return .

Jika kita tidak menambah return maka dalam fungsi then berikutnya tidak akan ada data yang bisa kita pakai, dan ketika terjadi error kita akan kesulitan untuk melakukan pengecekan.

Sebenarnya masih ada beberapa kesalahan mendasar yang lainnya, tapi sebaiknya kita bahas di kesempatan berikutnya :D

Kunjungi juga blog pribadi saya di pionize.com

SkyshiDigital

We help scale up your startup to the next level

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch

Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore

Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store