In JavaScript, many functions have asynchronous execution. Operations requiring disk or network access are usually asynchronous. This means that they execute in the background, and return the results at a later stage.
Asynchronous functions typically return a Promise` object. A Promise represents a value that may be returned in the future - typically after the request has completed.
One example of an asynchronous call is the fetch API, which can be used to make HTTP requests.
There are two ways to get the value of a Promise. The first is to call .then() with a callback function, which will be called when the value is ready.