Asenkron çağrılar yazmak için kullandığınız araçları adlandırın.
sobes.tech yapay zeka
AI'dan gelen yanıt
JavaScript, asenkron çağrılarla çalışmak için çeşitli araçlar sunar:
-
Callback fonksiyonları: Klasik yaklaşım, bir fonksiyonun başka bir fonksiyona argüman olarak geçirilip, asenkron işlemin tamamlanmasının ardından çalıştırılmasıdır.
-
Promises: Bir asenkron işlemin gelecekteki değerini veya hatasını temsil eden nesnelerdir. Asenkron çağrı zincirlerini ve hata işleme süreçlerini basitleştirirler.
// Promises kullanımı örneği fetch('/api/data') .then(response => response.json()) // Başarılı yanıtın işlenmesi .then(data => console.log(data)) // Alınan verilerle çalışma .catch(error => console.error('Hata:', error)); // Hata yönetimi -
Async/await: Promises üzerinde sözdizimi şekeridir, daha senkron bir tarzda asenkron kod yazmaya olanak tanır, bu da okunabilirliği artırır.
// Async/await kullanımı örneği async function fetchData() { try { const response = await fetch('/api/data'); // fetch'in tamamlanmasını bekler const data = await response.json(); // JSON'un ayrıştırılmasını bekler console.log(data); } catch (error) { console.error('Hata:', error); } } fetchData(); -
XMLHttpRequest (XHR): Tarayıcıda HTTP istekleri yapmak için temel API.
fetch'e kıyasla daha düşük seviyeli ve daha fazla kod gerektirir.// XMLHttpRequest kullanımı örneği const xhr = new XMLHttpRequest(); xhr.open('GET', '/api/data', true); // Asenkron istek xhr.onload = function() { if (xhr.status >= 200 && xhr.status < 300) { console.log(JSON.parse(xhr.responseText)); } else { console.error('Hata:', xhr.statusText); } }; xhr.onerror = function() { console.error('Ağ hatası'); }; xhr.send(); -
Fetch API: Promiselere dayanan modern ve daha esnek bir API, HTTP istekleri yapmak için.
// Fetch API kullanımı örneği fetch('/api/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error('Hata:', error)); -
HTTP istekleriyle çalışma kütüphaneleri: Örneğin,
axios(tarayıcı ve Node.js için) veyajQuery.ajax(). Asenkron istekleri kolaylaştırır ve standartlaştırır.// Axios kullanımı örneği axios.get('/api/data') .then(response => console.log(response.data)) .catch(error => console.error('Hata:', error));
Araç seçimi, görevin özelliğine ve proje bağlamına bağlıdır. Fetch ve async/await, çoğu durumda modern ve önerilen yaklaşımlardır.