Asynchronous programming is one of those concepts which are little tricky to understand but mandatory to know if you are building a responsive application. JavaScript is a single-threaded application so if we do all our work on that thread, then any time we have a task that is time-consuming, such as a web service call, we will end up making our user wait until the application returns back from the call.
To be able to manage these expensive tasks we have asynchronous programming. As you would imagine TypeScript makes it easier for us to write and manage asynchronous code. Today, there are multiple ways to write efficient, asynchronous code with each new version of JavaScript. TypeScript supports all these approaches and we will go through them here to better understand the asynchronous programming.