Delegating to another generator (yield*)

We can use the yield* expression to delegate from one generator to another. The following code snippet defines two generator functions named g1 and g2. The g2 generator uses the yield* expression to delegate the iteration to the iterator created by g1:

function* g1() { yield 2; yield 3; yield 4; } function* g2() { yield 1; yield* g1(); yield 5; } var iterator1 = g2(); console.log(iterator1.next()); // {value: 1, done: false} console.log(iterator1.next()); // {value: 2, done: false} console.log(iterator1.next()); // {value: 3, done: false} console.log(iterator1.next()); // {value: 4, done: false} console.log(iterator1.next()); // {value: 5, done: false} console.log(iterator1.next()); // {value: undefined, ...

Get Learning TypeScript 2.x - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.