RasKerGG / SocialNetwork

GNU General Public License v3.0
1 stars 0 forks source link

Просмотреть тему про промисы из 11 часового курса #28

Closed Fenz1t closed 2 weeks ago

Fenz1t commented 2 weeks ago

Тайминг про промисы: 09:37:51

  1. Введение в промисы:

    • Промисы - это объекты, представляющие результат асинхронной операции.
    • Промисы помогают справляться с так называемым "адским callback-ада", который возникает при чрезмерном использовании обратных вызовов.
    • Промисы имеют три состояния: ожидание (pending), выполнение (fulfilled) и отклонение (rejected).
  2. Создание и использование промисов:

    • Промис создается с помощью конструктора new Promise().
    • Промис принимает функцию-исполнитель, которая получает два параметра: resolve и reject.
    • Методы .then() и .catch() используются для управления состоянием промиса.
  3. Использование промисов в fetch:

    • Функция fetch() возвращает промис, который разрешается при получении ответа от сервера.
    • Промис, возвращаемый fetch(), имеет методы .then() и .catch() для обработки результата.
    • Пример использования fetch() с промисами:

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

  1. Вызов fetch внутри промиса:

    • Иногда необходимо выполнить последовательность асинхронных операций, используя промисы.

    • Промис может вернуть другой промис, позволяя связывать несколько асинхронных операций.

    • Пример вызова fetch() внутри промиса:

      const fetchData = () => {
      return new Promise((resolve, reject) => {
       fetch('https://api.example.com/data')
         .then(response => response.json())
         .then(data => resolve(data))
         .catch(error => reject(error));
      });
      };
      
      fetchData()
      .then(data => console.log(data))
      .catch(error => console.error(error));
    • В этом примере функция fetchData() возвращает промис, который внутри себя вызывает fetch(). Результат fetch() обрабатывается внутри промиса.