Sobes.tech
Junior

Asinxron çağırışlar yazmaq üçün istifadə etdiyiniz alətləri adlandırın.

sobes.tech Süni İntellekt

AI-dan cavab

JavaScript asinxron çağırışlarla işləmək üçün müxtəlif alətlər təklif edir:

  • Callback funksiyaları: Klassik yanaşma, burada funksiya başqa bir funksiyaya arqument kimi verilir və asinxron əməliyyat tamamlandıqdan sonra icra olunur.

  • Promises: Gələcəkdəki dəyəri və ya xətanı təmsil edən obyektlər. Asinxron çağırışların zəncirini sadələşdirir və səhv idarəsini asanlaşdırır.

    // Promises istifadəsi nümunəsi
    fetch('/api/data')
      .then(response => response.json()) // Uğurlu cavabın işlənməsi
      .then(data => console.log(data)) // Alınan məlumatlarla işləmək
      .catch(error => console.error('Xəta:', error)); // Xəta idarəsi
    
  • Async/await: Promises üzərində sintaktik şəkər, bu, asinxron kodu daha çox sinxron tərzdə yazmağa imkan verir, bu da oxumağı asanlaşdırır.

    // Async/await istifadəsi nümunəsi
    async function fetchData() {
      try {
        const response = await fetch('/api/data'); // fetch-in tamamlanmasını gözləyir
        const data = await response.json(); // JSON-un parse edilməsini gözləyir
        console.log(data);
      } catch (error) {
        console.error('Xəta:', error);
      }
    }
    fetchData();
    
  • XMLHttpRequest (XHR): Brauzerdə HTTP sorğularını yerinə yetirmək üçün əsas API. fetch-ə nisbətən aşağı səviyyəli və daha çox kod tələb edir.

    // XMLHttpRequest istifadəsi nümunəsi
    const xhr = new XMLHttpRequest();
    xhr.open('GET', '/api/data', true); // Asinxron sorğu
    xhr.onload = function() {
      if (xhr.status >= 200 && xhr.status < 300) {
        console.log(JSON.parse(xhr.responseText));
      } else {
        console.error('Xəta:', xhr.statusText);
      }
    };
    xhr.onerror = function() {
      console.error('Şəbəkə xətası');
    };
    xhr.send();
    
  • Fetch API: Müasir və daha çevik API, promiselərə əsaslanır.

    // Fetch API istifadəsi nümunəsi
    fetch('/api/data')
      .then(response => response.json())
      .then(data => console.log(data))
      .catch(error => console.error('Xəta:', error));
    
  • HTTP sorğuları ilə işləmək üçün kitabxanalar: Məsələn, axios (brauzer və Node.js üçün) və ya jQuery.ajax(). Onlar asinxron sorğuları sadələşdirir və standartlaşdırır.

    // Axios istifadəsi nümunəsi
    axios.get('/api/data')
      .then(response => console.log(response.data))
      .catch(error => console.error('Xəta:', error));
    

Alət seçimi vəzifənin xüsusiyyətlərindən və layihənin kontekstindən asılıdır. Fetch və async/await müasir və tövsiyə olunan yanaşmalardır.