Asynchronous JavaScript
JavaScript is fundamentally a single-threaded, synchronous language. This means it has exactly one Call Stack and one Memory Heap. It can only execute one line of code at a time.
Promises and Async/Await
To resolve "Callback Hell", ES6 introduced the Promise.
The Fetch API
The fetch() API is the modern native JS method for making HTTP requests (GET, POST, PUT, DELETE) across web networks. It returns a Promise, solving the nightmare of old-school XMLHttpRequest objects.