If your intention is
to some other scope, iterate over it, do some other stuff, then be able to iterate over it again later on in that same scope.
Then the only thing you shouldn’t try doing is passing the iterator, instead pass the generator:
var generator = function*() {
yield 1;
yield 2;
yield 3;
};
var user = function(generator){
for (let x of generator()) {
console.log(x);
}
for (let x of generator()) {
console.log(x);
}
}
Or just make a “round robin” iterator and check while iterating
var generator = function*() {
while(true){
yield 1;
yield 2;
yield 3;
}
};
for( x in i ){
console.log(x);
if(x === 3){
break;
}
}