Promises cut through the callback hell. Yet, they have their own quirks.
In this talk I will show how to properly terminate promise chain in order to avoid silent errors;
how to chain multiple steps together; how to tap into the chain for debugging;
how to generate success vs error paths; how to add timeouts; how to generate and cache resources using promises.
Finally, I will show how JavaScript despite a single thread still might have a concurrency problem
due to the unexpected execution ordering. I have looked at promises in detailed from different perspectives.
In my mind it is required technology for anyone using JavaScript in asynchronous fashion.
Even for people who use event emitters or reactive programming approach to async,
the promises is a required step to master.
speaker bio
Gleb Bahmutov is JavaScript ninja, image processing expert and software quality fanatic.
After receiving a PhD in computer science from Purdue University,
Gleb worked on laser scanners, 3D reconstruction, and panorama-based virtual tours at EveryScape.
Later Gleb switched to writing browser data visualization software at MathWorks.
After a year, Gleb went back to the startup environment and developed software quality
analysis tools at uTest (now Applause).
Today Gleb is developing real-time financial analysis tools at Kensho.
He blogs about software development topics at http://glebbahmutov.com/blog/
and links his projects at http://glebbahmutov.com/.
You can follow him and his work @bahmutov
abstract
Promises cut through the callback hell. Yet, they have their own quirks. In this talk I will show how to properly terminate promise chain in order to avoid silent errors; how to chain multiple steps together; how to tap into the chain for debugging; how to generate success vs error paths; how to add timeouts; how to generate and cache resources using promises.
Finally, I will show how JavaScript despite a single thread still might have a concurrency problem due to the unexpected execution ordering. I have looked at promises in detailed from different perspectives. In my mind it is required technology for anyone using JavaScript in asynchronous fashion. Even for people who use event emitters or reactive programming approach to async, the promises is a required step to master.
speaker bio
Gleb Bahmutov is JavaScript ninja, image processing expert and software quality fanatic. After receiving a PhD in computer science from Purdue University, Gleb worked on laser scanners, 3D reconstruction, and panorama-based virtual tours at EveryScape. Later Gleb switched to writing browser data visualization software at MathWorks. After a year, Gleb went back to the startup environment and developed software quality analysis tools at uTest (now Applause). Today Gleb is developing real-time financial analysis tools at Kensho. He blogs about software development topics at http://glebbahmutov.com/blog/ and links his projects at http://glebbahmutov.com/. You can follow him and his work @bahmutov