Название главы

  • Цель
  • Предварительные требования
  • Основная часть главы, где преподносится материал. В этой части могут быть несколько подглав.
  • Практическое(-ие) задание(-я)
  • Глоссарий (определения тернинов)
  • Список литературы (ссылок)

Пример

Что такое async/await и как их использовать

Цель

В этой главе мы рассмотрим для чего нужны ключевые слова async и await и как с помощью этих слов можно упростить написание асинхронного кода.

Предварительные требования

Для того, чтобы успешно освоить материал этой главы, нужно иметь представление о Promise.

Основы async/await

Для тех, кто не знаком с async/await, вот основные вещи, которые полезно будет знать прежде чем двигаться дальше.

  • Async/await — это новый способ написания асинхронного кода. Раньше подобный код писали, пользуясь коллбэками и промисами.
  • Наше предложение «забыть о промисах» не означает, что они потеряли актуальность в свете новой технологии. На самом деле, в основе async/await лежат промисы. Нужно учитывать, что этот механизм нельзя использовать с коллбэками.
  • Конструкции, построенные с использованием async/await, как и промисы, не блокируют главный поток выполнения программы.
  • Благодаря async/await, асинхронный код становится похожим на синхронный, да и в его поведении появляются черты такого кода, весьма полезные в некоторых ситуациях, в которых промисами пользоваться было, по разным причинам, неудобно. Но раньше без них было не обойтись. Теперь же всё изменилось. Именно тут кроется мощь async/await.

Почему async/await лучше промисов?

Рассмотрим обещанные шесть преимуществ async/await перед традиционными промисами.

1. Лаконичный и чистый код

Сравнивая два вышеприведённых примера, обратите внимание на то, насколько тот, где используется async/await, короче. И ведь речь, в данном случае, идёт о маленьких кусках кода, а если говорить о реальных программах, экономия будет ещё больше. Всё дело в том, что не нужно писать

....

Практическое задание

Написать функцию getRandomNumber, которая через секунду возвращает случайное число от 1 до 100. Вызвать эту функцию 10 раз в цикле, таким образом, чтобы каждое следующее число генерировалось после предидущего. Вывести каждое сгенерированное число в консоль с точным временем генерации, включая миллисекунды.

Подсказка: использовать цикл for и вызов getRandomNumber осуществить через await.

Глоссарий

Термин Значение
Promise A Promise represents a value that may not be available yet but will eventually be resolved at some point in the future. The point is to allow developers to write asynchronous code in a more synchronous fashion, escaping from the popular callback hell.
Промис см.Promise

Ссылки

  1. О промисах https://learn.javascript.ru/promise
  2. Async/await: 6 причин забыть о промисах https://habrahabr.ru/company/ruvds/blog/326074/

results matching ""

    No results matching ""