Example 6-17. Configuring an iterator with an initial parameter
function* counter(increment) {
var count = 0;
increment = increment || 1;
while (true) {
count = count + increment;
increment = (yield count) || increment;
}
}
var evens = counter(2);
console.log('Even numbers'); // Even numbers
console.log(evens.next().value); // 2
console.log(evens.next().value); // 4
console.log(evens.next().value); // 6
var fives = counter(5);
console.log('Count by fives'); // Count by fives
console.log(fives.next().value); // 5
console.log(fives.next().value); // 10
console.log(fives.next().value); // 15