Metode yang digunakan untuk menangani data yang diterima dari Promise adalah:
then(): Digunakan untuk menangani resolusi (sukses) dariPromise.catch(): Digunakan untuk menangani penolakan (gagal) dariPromise.finally(): Digunakan untuk menjalankan kode setelahPromisediselesaikan, baik dalam kondisi berhasil maupun gagal.
Berikut adalah contoh penggunaan masing-masing metode:
1. then()
then() digunakan untuk menjalankan fungsi callback ketika Promise berhasil diselesaikan (fulfilled).
javascriptlet promise = new Promise((resolve, reject) => {
resolve('Data received successfully');
});
promise.then(data => {
console.log(data); // Output: Data received successfully
});
2. catch()
catch() digunakan untuk menjalankan fungsi callback ketika Promise ditolak (rejected).
javascriptlet promise = new Promise((resolve, reject) => {
reject('Error in data retrieval');
});
promise.catch(error => {
console.error(error); // Output: Error in data retrieval
});
3. finally()
finally() digunakan untuk menjalankan fungsi callback setelah Promise selesai, baik itu dalam kondisi berhasil (fulfilled) maupun gagal (rejected).
javascriptlet promise = new Promise((resolve, reject) => {
resolve('Data received successfully');
});
promise
.then(data => {
console.log(data); // Output: Data received successfully
})
.catch(error => {
console.error(error);
})
.finally(() => {
console.log('Promise has been handled.'); // Output: Promise has been handled.
});
Menggunakan Async/Await
Selain metode di atas, Anda juga dapat menggunakan async/await untuk menangani Promise. Ini memberikan cara yang lebih bersih dan sinkron untuk bekerja dengan Promise.
javascriptasync function fetchData() {
try {
let data = await promise;
console.log(data); // Output: Data received successfully
} catch (error) {
console.error(error);
} finally {
console.log('Promise has been handled.'); // Output: Promise has been handled.
}
}
let promise = new Promise((resolve, reject) => {
resolve('Data received successfully');
});
fetchData();
Dengan menggunakan metode then(), catch(), dan finally(), serta pendekatan async/await, Anda dapat dengan efektif menangani data yang diterima dari Promise dan mengelola alur program secara asinkron.
No comments:
Post a Comment