es2015 generator concepts - nyc node.js meetup 20150316

10
ES2015 Generator Concepts Valeri Karpov Platform Tech Lead, Booster Fuels thecodebarbarian.com github.com/vkarpov15 @code_barbarian

Upload: valeri-karpov

Post on 10-Apr-2017

356 views

Category:

Technology


1 download

TRANSCRIPT

Page 1: ES2015 Generator Concepts - NYC Node.js Meetup 20150316

ES2015 Generator Concepts

Valeri KarpovPlatform Tech Lead, Booster Fuels

thecodebarbarian.comgithub.com/vkarpov15

@code_barbarian

Page 2: ES2015 Generator Concepts - NYC Node.js Meetup 20150316

What This Talk is About● What is a generator?● What can you do with it?● How does co work?

Page 3: ES2015 Generator Concepts - NYC Node.js Meetup 20150316

Terminology● Generator function

● Generator object (or just generator)

Page 4: ES2015 Generator Concepts - NYC Node.js Meetup 20150316

The Yield Keyword● yield allows re-entry

Page 5: ES2015 Generator Concepts - NYC Node.js Meetup 20150316

The Key Idea of Generators● Yield pauses generator function execution● Calling next() resumes execution● Can call next() asynchronously

Page 6: ES2015 Generator Concepts - NYC Node.js Meetup 20150316

Why Is This Useful?

Page 7: ES2015 Generator Concepts - NYC Node.js Meetup 20150316

Separate Logic From Scheduling

Page 8: ES2015 Generator Concepts - NYC Node.js Meetup 20150316

Yielding a Promise

Page 9: ES2015 Generator Concepts - NYC Node.js Meetup 20150316

What’s Next?● Check out The 80/20 Guide to ES2015

Generators● Rigorous guide to generators as spec-ed

with minimal outside dependencies○ No babel, webpack, angular, react, gulp, etc. etc.

● More detail on how co works● Plus koa, the web framework based on co● Plus regenerator, Facebook’s transpiler

Page 10: ES2015 Generator Concepts - NYC Node.js Meetup 20150316

Thanks for Listening!Comments, questions, haikus?

Read more at:thecodebarbarian.comgithub.com/vkarpov15

@code_barbarian