How to use yield* expression in function* to iterate over yields in other function* with JavaScript

1 Answer

0 votes
function* f1() {
  yield 2;
  yield 3;
  yield 4;
}

function* f2() {
  yield 1;
  yield* f1();
  yield 5;
  yield 6;
}

const iterator = f2();

console.log(iterator.next()); 
console.log(iterator.next());
console.log(iterator.next());
console.log(iterator.next()); 
console.log(iterator.next()); 
console.log(iterator.next()); 


  
    
    
/*
run:
    
{
  done: false,
  value: 1
}
{
  done: false,
  value: 2
}
{
  done: false,
  value: 3
}
{
  done: false,
  value: 4
}
{
  done: false,
  value: 5
}
{
  done: false,
  value: 6
}
    
*/

 



answered Nov 21, 2020 by avibootz
...