How to use yield with value in next in function* with JavaScript

1 Answer

0 votes
function* f(n) {
 let step;

 while (true) {
   step = yield ++n;

   if (step) {
     n += step;
   }
 }
}

const iterator = f(0);

console.log(iterator.next().value);  
console.log(iterator.next().value);  
console.log(iterator.next().value);   
console.log(iterator.next().value); 
console.log(iterator.next(5).value);   
console.log(iterator.next().value); 
console.log(iterator.next(12).value); 


  
    
    
/*
run:
    
1
2
3
4
10
11
24
    
*/

 



answered Nov 21, 2020 by avibootz
...