Await Fetch Nodejs

4 min read Jul 01, 2024
Await Fetch Nodejs

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 menggunakan then dan catch 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:

  1. Fungsi fetchData() dideklarasikan dengan keyword async untuk menandakan bahwa fungsi ini akan mengandung operasi asinkron.
  2. Kode di dalam try...catch menangani kesalahan yang mungkin terjadi selama proses permintaan HTTP.
  3. await fetch melakukan permintaan HTTP ke API yang ditentukan.
  4. if (!response.ok) memeriksa apakah response dari server berhasil. Jika tidak, maka akan memunculkan error.
  5. await response.json() mengubah response menjadi JSON.
  6. Data JSON kemudian dicetak ke konsol.
  7. 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.