function* demo() {
yield 1;
yield 2;
yield 3;
return 'over';
}
let it = demo();
console.log(it.next()); // { value: 1, done: false }
console.log(it.next()); // { value: 2, done: false }
console.log(it.next()); // { value: 3, done: false }
console.log(it.next());