TL;DR:

  • Базовый пример (показано с итерацией)
  • Характеристики
  • Методы
  • Использование «return» с генераторами
  • Передача аргументов
  • Генераторы с ES6katas
  • Резюме

Базовый пример (показано с итерацией)

Ссылка Repl.it

Характеристики

Нет в списке на MDN

Методы

Generator.prototype.next()Возвращает значение, полученное выражением yield.

Generator.prototype.return()Возвращает заданное значение и завершает работу генератора.

Generator.prototype.throw()Выдает ошибку генератору (также завершает работу генератора, если только он не обнаружен внутри этого генератора).

Использование «return» с генераторами

Ссылка Repl.it

Передача аргументов

Ссылка Repl.it

Генераторы с ES6katas

Наименее пугающий способ начать исследование:

http://es6katas.org/

Резюме

Генераторы возвращают подобный объект { value: 10, done: false каждый раз, когда они сталкиваются с оператором yield. Он возвращает done: true ПОСЛЕ последней операции yield ИЛИ при возврате оператора return.

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — —

Функция генератора возвращает объект Generator, который соответствует как итерируемому протоколу, так и протоколу итератора. — МДН

**Отказ от ответственности**

Это предназначено, во-первых, как заметки / будущие ссылки для меня. Во-вторых, для других, и, наконец, в качестве учебника. По этим причинам я решил использовать следующие соглашения:

  • Абсолютная минимизация текста (особенно текста без кода)
  • Пропустить введение — если в одном из моих постов нужен обзор, всегда переходите к резюме.

Хотя более широкая аудитория не является моей главной целью, я также надеюсь, что это объяснение даст полезную информацию тем, кто наткнется на это. Я поддерживаю эти правила во всех постах/видео, которые я создаю.