diesem CodeIterieren
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);
kehrt
Object {value: 1, done: false}
Object {value: 1, done: false}
so dass im Grunde func Ausbeuten erste Wert die ganze Zeit.
Aber wenn ich zu
ändernlet f = func();
let s = f.next();
console.log(s);
let s2 = f.next();
console.log(s2);
es wie erwartet funktioniert. Warum die Zuweisung von Funktionen an Variablen macht einen solchen Unterschied?
Weil ' func()! == func() '? – Bergi
Wenn es sich anders verhalten würde, dann könnte jede Generatorfunktion nur * einmal * verwendet werden ... –