Generator関数
Generatorを返す
function*を使って定義する
yieldはその中でのみ使える
yieldに来ると処理を中断し、.next()でそこから続きが実行される
Generatorに対して.next()を呼び出すことで、前回の続きから処理を実行できる
e.g.
code:ts
function* gen1() {
yield 1;
yield 2;
}