Fetching Data dengan Fetch API dan Axios di JavaScript

Dalam pengembangan aplikasi web modern, kebutuhan untuk mengambil data dari server atau API (Application Programming Interface) adalah hal yang umum. JavaScript, sebagai bahasa pemrograman yang umum digunakan di sisi klien (client-side), menyediakan berbagai cara untuk melakukan permintaan HTTP (HTTP request). Dua metode yang paling populer untuk mengambil data (fetching data) adalah melalui Fetch API dan Axios. Artikel ini akan membahas perbedaan, kelebihan, dan cara penggunaan masing-masing.
Apa Itu Fetch API?
Fetch API adalah antarmuka bawaan (native) JavaScript yang digunakan untuk melakukan permintaan jaringan (network request). Fetch menggantikan metode lama seperti XMLHttpRequest
dengan sintaks yang lebih bersih dan berbasis Promise.
Contoh Penggunaan Fetch API
fetch('https://api.example.com/data')
.then(response => {
if (!response.ok) {
throw new Error('Terjadi kesalahan pada jaringan');
}
return response.json();
})
.then(data => {
console.log(data);
})
.catch(error => {
console.error('Error:', error);
});
Kelebihan Fetch API
- Sudah tersedia secara bawaan di browser modern.
- Sintaks berbasis Promise, sehingga lebih mudah dibaca.
- Lebih ringan karena tidak membutuhkan library tambahan.
Kekurangan Fetch API
- Tidak secara otomatis menangani error status HTTP (seperti 404 atau 500).
- Perlu penanganan manual terhadap berbagai format response.
- Tidak mendukung request timeout secara langsung.
Apa Itu Axios?
Axios adalah library pihak ketiga (third-party library) yang digunakan untuk melakukan permintaan HTTP. Axios juga berbasis Promise dan mendukung berbagai fitur tambahan yang tidak disediakan oleh Fetch secara default.
Contoh Penggunaan Axios
import axios from 'axios';
axios.get('https://api.example.com/data')
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error('Error:', error);
});
Kelebihan Axios
- Secara otomatis mengubah respons menjadi format JSON.
- Menangani error status HTTP dengan lebih konsisten.
- Mendukung timeout, cancel request, interceptors, dan transformasi data.
- Mendukung permintaan lintas domain (CORS) dengan konfigurasi yang lebih mudah.
Kekurangan Axios
- Perlu menginstal library tambahan.
- Ukuran file yang lebih besar dibandingkan penggunaan Fetch API langsung.
Perbandingan Fetch API dan Axios
Fitur | Fetch API | Axios |
---|---|---|
Bawaan di browser | Ya | Tidak (perlu instalasi) |
Berbasis Promise | Ya | Ya |
Parsing otomatis JSON | Tidak | Ya |
Penanganan error HTTP | Manual | Otomatis |
Dukungan Timeout | Tidak langsung | Ya |
Ukuran Library | Kecil (bawaan) | Lebih besar (external) |
Interceptor & Cancel | Tidak tersedia | Tersedia |
Kapan Menggunakan Fetch atau Axios?
- Gunakan Fetch API jika Anda ingin menjaga ukuran aplikasi tetap ringan, tidak memerlukan fitur tambahan, dan hanya membutuhkan fungsi dasar untuk mengambil data.
- Gunakan Axios jika Anda membutuhkan kontrol lebih dalam, seperti manajemen error yang lebih baik, pembatalan permintaan, dan konfigurasi lanjutan.
Kesimpulan
Baik Fetch API maupun Axios merupakan alat yang sangat berguna dalam pengembangan aplikasi JavaScript modern. Pemilihan antara keduanya tergantung pada kebutuhan proyek dan preferensi pengembang. Fetch cocok untuk permintaan sederhana tanpa ketergantungan tambahan, sedangkan Axios memberikan kemudahan dan fitur lebih lengkap untuk aplikasi yang lebih kompleks.