006. AJAX: Librería Axios + Async-Await

En este capítulo vamos a seguir utilizando Axios , pero esta vez utilizando funciones asíncronas, vamos a tener dos archivos, axiosasincrono.html y axiosasincrono.js. Veamos la sintaxis.

Sintaxis de axiosasincrono.html.

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Axios asíncrono</title>
  </head>
  <body>
    <h1>Ajax</h1>
    <h2>Axios asíncrono</h2>
    <ol id="axios-async"></ol>
    <script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
    <script src="./05axiosasincronos.js"></script>
  </body>
</html>

Sintaxis de axiosasincrono.js.

(() => {
  const $axiosAsync = document.getElementById("axios-async"),
    $fragment = document.createDocumentFragment();

  async function getData() {
    try {
      let res = await axios.get("https://jsonplaceholder.typicode.com/users"),
        json = await res.data;
      json.forEach((el) => {
        const $li = document.createElement("li");
        $li.innerHTML = `${el.name} --- ${el.email} --- ${el.phone}`;
        $fragment.appendChild($li);
      });
      $axiosAsync.appendChild($fragment);
      console.log(res, json);
    } catch (err) {
      let message = err.response.statusText || "Ocurrió un error";
      $axiosAsync.innerHTML = `Error ${err.response.status} ${message}`;
    } finally {
      console.log("Esto se ejecuta independendientemente del try y catch");
    }
  }
  getData();
})();
Scroll al inicio