После установки переменной для генератора, например, let gene = generator ();
Обычно мне нужно выполнить gene.next () для итерации созданного выше генератора. Однако в приведенном ниже примере (полный код см. По ссылке)
https://codepen.io/jotnajoa/pen/MWwzpJJ
другая переменная устанавливается после установки переменной для генератор снова. Я не знаю, почему это происходит. Кроме того, я не получаю часть
let result = genratorAnimation.next();
//genratorAnimation.next();
let interval = setInterval(function(){
if(!result.done) {
genratorAnimation.next();
}
else {
clearInterval(interval)
}
}, 50);
В конце этого кода. Потому что, насколько я понимаю, генератор возвращает «true» для «done», когда все получено.
Однако в этом примере он делает противоположное. "not result.done", который является ложным при запуске генератора.
Почему это так?
В качестве сводки,
1), почему мне нужно установить другая переменная для интервала.
Я предположил, что setInterval (########) достаточно вместо xxx = setInterval для запуска l oop. потому что, если я установлю переменную для setInterval, ничего не произойдет, пока я не введу переменную 'xxx'. Но в этом коде он работает, даже если я не вызываю переменную.
2) Почему! Result.done заставляет l oop играть. потому что! result.done имеет значение false, и если false находится в операторе if, все идет после if, если он не будет выполнен.
Если оператор выполняется только тогда, когда условие истинно. Не так ли?
Заранее спасибо.