Tag Archives: AsyncJS

Video: Mastering JavaScript Flow Control

Everyone knows promises can help flatten the JS pyramid of death. But promises aren’t the only solution available. I’ll discuss some more advanced techniques surrounding the flow of information through your application through the use of libraries such as AsyncJS and RxJS. I’ll also talk about how embracing streams can not only alleviate control flow issues, but also improve performance. Finally, we’ll look into how tools such as ZeroMQ and Redis can help to foster asynchronous and event-driven APIs.

Johnny Austin is a full stack software engineer with an interest in everything from user experience to systems architecture. He specializes in all things JavaScript but has experience with Java, Ruby, Go and Python. Johnny is an active member of the open source community – contributing to projects such as Node.js and many more. Currently, Johnny is crafting masterpieces as a Creative Technologist at iStrategyLabs and occasionally teaches courses at General Assembly.

Taming Asynchronous JavaScript with Async.js

via Taming Asynchronous JavaScript with Async.js.

JavaScript is often described as asynchronous, meaning that function calls and operations don’t block the main thread while they execute. This is true in some situations, but JavaScript runs in a single thread, and therefore has lots of synchronous components.

It’s more accurate to say that many function calls in JavaScript can be made asynchronously. Web programming essentials like DOM event handlers and AJAX calls are asynchronous, and because these common tasks make up a great bulk of JavaScript programming, JavaScript itself is often labeled “asynchronous.”

When a function runs asynchronously, that means it doesn’t stop subsequent function calls from running while it finishes. Take this example: