09

Promise

Promise

Цель: получить представление об асинхронности и цикле событий (Event Loop), научиться пользоваться функциями обратного вызова, объектом Promise и его методами, а также синтаксисом async/await.

Содержание и порядок выполнения лабораторной работы:

  1. Изучить теорию связанную с асинхронностью, циклом событий, функциями обратного вызова, объектом Promise и его методами (.then() .catch() .finally() .all(), .any()) и синтаксисом async/await.
  2. Убедиться что установлен node.js. Инструкцию по установке и использованию можно найти в шаблоне лабораторной работы прошлого семестра.
  3. На CodeRun от Yandex зарегистрироваться в первом сезоне задач по фронтенду - https://coderun.yandex.ru/seasons/first_2023/tracks/frontend/catalog
  4. После регистрации в сезоне найти задачу 217. Асинхронное получение данных.
  5. Скачать предлагаемые файлы для разработки локально.
  6. Выработать решение задачи, финальный вариант проверить на платформе CodeRun.
  7. На защите необходимо показать количество попыток, рассказать как менялось ваше решение, какие гипотезы вы проверяли и ответить на вопросы. Чтобы не забыть вашу логику фиксируйте мысли в заметках.

Результаты выполнения лабораторной работы:

Решенная задача в сезоне на CodeRun.

Источники

Вопросы для защиты

  1. Что такое функция обратного вызова (callback)?
  2. Что такое асинхронность и почему приходится ее использовать в JS?
  3. Общий принцип работы event loop.
  4. Promise и его состояния.
  5. Методы объекта Promise. Примеры их использования.
  6. Как используется async/await?