Memahami promise, resolve, reject pada javascript
Jika temen temen pernah menggunakan fitur pada javascript seperti async/await atau .then().catch pada javascript, sebenarnya fitur tersebut sudah dilengkapi promise.
promise sendiri dalam bahasa artinya janji, apabila menggunakan promise maka code setelah promise akan menunggu code sebelumnya selesai terlebih dahulu untuk dijalankan.
Contoh penggunakan promise yang sering kita temui :
const getNama = new Promise((resolve, reject) => {
setTimeout(() => {
if(true){
resolve(‘My name is …’)
}else{
reject(‘name not found’)
}
}, 3000)
})
di atas adalah salah satu bentuk promise, yang memiliki dua parameter atau props yaitu “resolve” dan “reject”, pada const di atas akan mengembalikan suatu data berupa nama, apabila nama di temukan maka harus dikembalikan menggunakan resolve, apabila nama tidak ditemukan makan akan dikembalikan menggunakan reject.
cara pemanggilan promise yang saya pelajari ada 2, dengan menggunakan .then() atau await;
//Pada fetch
getNama.then((res) => {
console.log(‘response: ‘, res)
}).catch((err) => {
console.log(‘error: ‘, err)
})
di atas adalah penggunakan .then() untuk mendapatkan data dari const promise, return dari resolve akan masuk di bagian .then() dan reject akan masuk ke bagian .catch()
//Pada async/await dan try/catch
const iniData = async () => {
try {
let response = await getNama
console.log(‘response: ‘, response)
} catch (err) {
console.log(‘error: ‘ err)
}
}
untuk penggunaan await di wajibkan untuk di bungkus dengan async function agar fitur promise bisa berjalan.
penggunaan await sendiri hanya akan mengembalikan nilai resolve, tapi apabila di perlukan untuk mendapat nilai reject, maka perlu di bungkus dengan try catch, dimana hasil reject akan masuk ke bagian catch
Sekian dulu pengalaman yang dapat saya bagikan :3, jika ada kesalahan mungkin bisa di cantumkan di kolom komentar terimakasih.
terimakasih