Javascript fetch kullanımı

Javascript Fetch, Web sayfası üzerinde HTTP istekleri gönderip yanıt almasını sağlayan bir API ‘dir.  XMLHttpRequest(XHR) ve Jquery ajax() 'a  alternetif bir kullanım türüdür zamanlada bu kullanımların yerini almaya başlamıştır. Web sayfası üzerinde asenkron bir şekilde istekler gönderip yanıtlarını alabilmekteyiz. 

Fetch kullanırken ilk olarak bir url belirtmemiz gerekmektedir. Belirtilen URL 'e istek göndermek için ise

fetch()
fonksiyonunu kullanabilirsiniz.
fetch()
fonksiyonu bizlere Promise bir değer döndürecektir.

fetch('https://example.com/example.json')
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));

Yukarıdaki örnek de

'https://example.com/example.json'
adresine bir istek göndermekteyiz. Bu isteğin yanıtı ile ilk Promise zincirinin ilk
then()
yönetimi dönen yanıtı json formatına dönüştürmektedir. İkinci
then()
yönetimi ise json formatına dönüştürülen veriyi konsola yazdırmaktadır.
catch()
yönetimi ise olası bir hata durumunu yakalamakta ve konsola yazdırmaktadır. 

İsteğin yanıtı

then()
içerisinde belirli formata dönüştürebiliriz. Bu format sadece json ile sınırılı olmamaktadır. 

fetch()
fonksiyonu ile gönderdiğimi isteklerin türünü, istek içerisinde veri gönderme işlemi, İstek başlıkları gibi bir çok özellik ekleyebilmekteyiz.

const options = {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ username: 'ahmet', password: 'cokguclubirsifre' })
};

fetch('https://example.com/user', options)
  .then(response => response.json())
  .then(data => console.log(data))
  .catch(error => console.error(error));

Yukarıdaki örnek de ise POST isteği gönderilmiştir. 

Fetch kullanımı Cors desteği sağlamaktadır. Farklı alan adlarına ait web siteleri üzerinden veri alışverişine olanak sağlamaktadır.