how to prevent callback hell

18
How to Prevent Callback Hell Tianyu ZHAO

Upload: cliffzhaobupt

Post on 16-Jan-2017

533 views

Category:

Technology


2 download

TRANSCRIPT

Page 1: How to Prevent Callback Hell

How to PreventCallback Hell

Tianyu ZHAO

Page 2: How to Prevent Callback Hell

Self-IntroductionFrom ChinaJoined Drecom 1 year agoRails Developer

Page 3: How to Prevent Callback Hell

What is callback hell?

Page 4: How to Prevent Callback Hell

Why should we deal with it?

Hard to Understand

Page 5: How to Prevent Callback Hell

How to avoid this?

Page 6: How to Prevent Callback Hell

Name your functions

Page 7: How to Prevent Callback Hell

Define new functions

Page 8: How to Prevent Callback Hell

Use Promise object

Page 9: How to Prevent Callback Hell

Use Promise objectCreate custom getJSON function

Page 10: How to Prevent Callback Hell

Use Promise objectUse custom getJSON function

Page 11: How to Prevent Callback Hell

Use Promise objectDon’t have to do that at all (Deferred Object in jQuery 1.8+)http://api.jquery.com/category/deferred-object/

Page 12: How to Prevent Callback Hell

Use Promise + Generator

What’s Generator?

Page 13: How to Prevent Callback Hell

Use Promise + Generator

More about Promise

Page 14: How to Prevent Callback Hell

Use Promise + Generator

More about Promise

Page 15: How to Prevent Callback Hell

Use Promise + Generator

Cool Library: co (https://github.com/tj/co)

yield Promise

Page 16: How to Prevent Callback Hell

Use Promise + Generator

Cool Library: co (https://github.com/tj/co)

Promiseresolver

resolverGenerato

r.next()

Promiseresolver

Page 17: How to Prevent Callback Hell

ConclusionCallback hell is kind of the feature of JavaScriptSome people like it, some people don’t like itDecide how to handle it by oneself (simply name functions or use Promise + Generator)

Page 18: How to Prevent Callback Hell

Thank you!