Handling asynchronous code is one of the most difficult things we have to do as user interface developers. Unfortunately it’s the nature of the beast: requests to servers aren’t instant, users don’t interact with interfaces in predictable fashions, we can’t block the thread for animations, and sometimes we don’t even want to block the thread for large operations.

Hence we’re always in this dance of coordinating asynchronous and synchronous actions. Both are necessary and it can be a lot of cognitive overhead to interact between the two. So let’s talk about the various flavors of JavaScript async code and discuss their interactions with Angular and React. We’ll go over tools like callbacks, promises, observables, generators, async iterators, async/await, and even CSP. Come join as we explore async!