Memahami Penggunaan await fetch
dalam Node.js
await fetch
adalah kombinasi dari dua fitur penting dalam Node.js: await
dan fetch
. Fitur-fitur ini memungkinkan kita untuk melakukan permintaan HTTP secara asinkron dengan cara yang lebih mudah dibaca dan ditulis.
Apa itu await
?
await
adalah keyword dalam JavaScript yang memungkinkan kita untuk menunggu hasil dari sebuah promise. Promise adalah objek yang merepresentasikan hasil dari operasi asinkron, seperti permintaan HTTP.
Contoh Penggunaan await
:
async function fetchData() {
const response = await fetch('https://api.example.com/data');
const data = await response.json();
console.log(data);
}
fetchData();
Dalam contoh di atas, await fetch
akan menunggu hingga permintaan HTTP selesai. Setelah itu, await response.json()
akan menunggu hingga data diubah menjadi format JSON. Barulah data akan dicetak ke konsol.
Apa itu fetch
?
fetch
adalah API built-in dalam JavaScript yang memungkinkan kita untuk membuat permintaan HTTP. Fungsi ini mengembalikan promise yang berisi response dari server.
Contoh Penggunaan fetch
:
fetch('https://api.example.com/data')
.then(response => response.json())
.then(data => console.log(data));
Contoh di atas menggunakan then
untuk memproses response dari server. Pertama, response.json()
mengubah response menjadi JSON, kemudian data dicetak ke konsol.
Keuntungan Menggunakan await fetch
:
- Lebih mudah dibaca dan ditulis: Kode
await fetch
lebih mudah dipahami daripada menggunakanthen
dancatch
secara berulang. - Sederhana: Kode menjadi lebih sederhana dan terstruktur dengan baik.
- Synchronous-like:
await
membuat kode asinkron terasa seperti kode sinkron.
Contoh Penggunaan await fetch
:
const { request } = require('http');
async function fetchData() {
try {
const response = await fetch('https://api.example.com/data');
if (!response.ok) {
throw new Error(`HTTP error! Status: ${response.status}`);
}
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
}
fetchData();
Penjelasan Kode:
- Fungsi
fetchData()
dideklarasikan dengan keywordasync
untuk menandakan bahwa fungsi ini akan mengandung operasi asinkron. - Kode di dalam
try...catch
menangani kesalahan yang mungkin terjadi selama proses permintaan HTTP. await fetch
melakukan permintaan HTTP ke API yang ditentukan.if (!response.ok)
memeriksa apakah response dari server berhasil. Jika tidak, maka akan memunculkan error.await response.json()
mengubah response menjadi JSON.- Data JSON kemudian dicetak ke konsol.
catch
block menangkap kesalahan yang mungkin terjadi selama proses permintaan HTTP dan menampilkannya di konsol.
Kesimpulan:
await fetch
adalah cara yang efektif dan mudah untuk melakukan permintaan HTTP secara asinkron dalam Node.js. Dengan menggunakan kombinasi await
dan fetch
, kita dapat membuat kode yang lebih mudah dibaca, ditulis, dan dipelihara.