1
ジェネレータを反復このコードES6
let func = function *(){
for (let i = 1; i < 5; i++) {
yield i;
}
}
let s = func().next();
console.log(s);
let s2 = func().next();
console.log(s2);
戻り
Object {value: 1, done: false}
Object {value: 1, done: false}
ので、基本的にFUNC収率最初の値のすべての時間。
しかし、私は
let f = func();
let s = f.next();
console.log(s);
let s2 = f.next();
console.log(s2);
に変更したときに期待どおりに動作します。 funcを変数に代入するのはなぜこのような違いがありますか?
'ので、 func()!== func() '? – Bergi
動作が異なる場合、すべてのジェネレータ機能は* once *のみ使用できます。 –