Описание:
00:00:00 Начало 00:00:30 Концепция промис обьекта. Синтаксис промиса 00:02:08 Создание промиса через конструктор. Функции resolve и reject. 00:05:26 __proto__: Promise 00:08:07 promise.then() - обработка результата промиса. 00:10:40 Отложенные вызовы callback-функций в методе .then(). 00:13:10 promise.then() через внешние функции. 00:14:50 "Область видимости" callback-функций в промисах. Нюанс асинхронности. Ответы на вопросы. Цепочки промисов 00:20:54 Концепция цепочки промисов. 00:24:39 Значения передаваемые по цепочке. 00:25:50 Промис в цепочке возвращает промис. 00:27:00 throw new Error () - обработка текущей ошибки (вторая callback-функция). 00:28:55 Блок catch () - отлов ошибок в цепочке. 00:31:50 Схема работы промисов по конспекту. 00:35:00 .finally () - cнятие промиса. 00:36:39 Схема работы. Промисификация функции. 00:37:41 Юзкейс. Заказ в ресторане. 00:39:30 return из setTimeout()нет. Нюанс асинхронности. 00:41:00 Схема работы без промисов и ее проблема. 00:42:50 Возврат промиса из функции. 00:45:25 .then().cath() - обработка полученого из функции промиса. 00:46:24 Оптимизация кода. 00:47:09 Описание решенной проблемы колбеков внутри функции. 00:49:10 .then().cath() 00:49:50 В синхронном коде получить результат промиса невозможно. Промисификация синхронной фцнкции 00:51:13 Функция без delay. 00:53:40 Promise.resolve() - "принудительный" резолв. Запросы на бекенд из кода 00:55:17 Пакемоны. 00:56:30 Запрос на сервер это асинхронная операция. Юзкейс промиса. 00:57:00 fetch () - встроенная в браузер функция для работы с сервером, возвращает промис. 01:01:13 Функция автоматизации запросов с проблемой лишней обработки. 01:04:25 Реализация возврата промиса из функции и его обработка. 01:07:14 Single Responsibility Principle, SRP). 01:08:40 Самая важная концепция.Результат промиса недоступен во внешнем коде. 01:09:42 Пример промиса без return. Разбор ошибки. 01:13:45 Оптимизация кода примера. 01:14:50 При resolve() функция прекращает выполнение. 01:15:40 Промис асинхронный даже без установки setTimeout. Обьяснение. Ответы на вопросы. 01:20:13 Проблема решаемая асинхронным кодом, промисом - "блокирующий" код. Пример с иподромом 01:26:59 Запуск коня. 01:32:50 Массив промисов. 01:34:12 Обработка массива промисов. .race() 01:36:55 Promise.all() - возвращает массив результатов выполнения промисов. 01:33:33 Ответы на вопросы. 01:40:45 Состояние промиса. 01:42:15 Выведение результатов примера. 01:59:30 О домашке.
Готовим варианты загрузки