Sobes.tech
Junior

Noem de tools die je hebt gebruikt om asynchrone oproepen te schrijven.

sobes.tech AI

Antwoord van AI

JavaScript biedt verschillende hulpmiddelen voor het werken met asynchrone oproepen:

  • Callback-functies: Klassieke aanpak, waarbij een functie wordt doorgegeven als argument aan een andere functie en wordt uitgevoerd nadat de asynchrone operatie is voltooid.

  • Promises: Objecten die een toekomstige waarde of een fout van een asynchrone operatie vertegenwoordigen. Ze vereenvoudigen het ketenen van asynchrone oproepen en foutafhandeling.

    // Voorbeeld van het gebruik van promises
    fetch('/api/data')
      .then(response => response.json()) // Behandeling van succesvolle respons
      .then(data => console.log(data)) // Werken met de ontvangen gegevens
      .catch(error => console.error('Fout:', error)); // Foutafhandeling
    
  • Async/await: Syntactische suiker boven promises, waarmee je asynchrone code in een meer synchrone stijl kunt schrijven, wat de leesbaarheid verbetert.

    // Voorbeeld van het gebruik van async/await
    async function fetchData() {
      try {
        const response = await fetch('/api/data'); // Wachten op fetch voltooiing
        const data = await response.json(); // Wachten op JSON parsing
        console.log(data);
      } catch (error) {
        console.error('Fout:', error);
      }
    }
    fetchData();
    
  • XMLHttpRequest (XHR): Basale API voor het uitvoeren van HTTP-verzoeken in de browser. Lager niveau dan fetch en vereist meer code voor afhandeling.

    // Voorbeeld van het gebruik van XMLHttpRequest
    const xhr = new XMLHttpRequest();
    xhr.open('GET', '/api/data', true); // Asynchroon verzoek
    xhr.onload = function() {
      if (xhr.status >= 200 && xhr.status < 300) {
        console.log(JSON.parse(xhr.responseText));
      } else {
        console.error('Fout:', xhr.statusText);
      }
    };
    xhr.onerror = function() {
      console.error('Netwerkfout');
    };
    xhr.send();
    
  • Fetch API: Moderne en meer flexibele API voor het uitvoeren van HTTP-verzoeken, gebaseerd op promises.

    // Voorbeeld van het gebruik van Fetch API
    fetch('/api/data')
      .then(response => response.json())
      .then(data => console.log(data))
      .catch(error => console.error('Fout:', error));
    
  • Bibliotheken voor het werken met HTTP-verzoeken: Bijvoorbeeld axios (voor browsers en Node.js) of jQuery.ajax(). Ze vereenvoudigen en standaardiseren het uitvoeren van asynchrone verzoeken.

    // Voorbeeld van het gebruik van Axios
    axios.get('/api/data')
      .then(response => console.log(response.data))
      .catch(error => console.error('Fout:', error));
    

De keuze van het hulpmiddel hangt af van de specificiteit van de taak en de context van het project. Fetch en async/await zijn moderne en aanbevolen benaderingen voor de meeste gevallen.