05. Infinite Iterator

Итератор может быть бесконечным, для этого просто нужно не возвращать done: true.

function randomNumber() {
  let n = 0;
  return {
    [Symbol.iterator]() {
      return this;
    },
    next() {
      return { value: Math.random() };
    }
  };
}

Работа с бесконечным итератором:

  • Бесконечный итератор можно прервать в цикле for-of при помощи break

  • Взять из бесконечного итератора только определенное количество элементов

for (const x of randomNumber()) {
  if (x > 0.5) break;
  console.log(x);
}

const [one, two, three] = randomNumber();

Last updated