Promises and the Fetch API
In a nutshell, a promise is an object that wraps asynchronous logic and provides methods to access the results or errors once operation completes. It is a proxy for the result value until it is known, and allows you to associate handler functions rather than using callbacks. It is a promise to supply the value once it is known and available.
To get a good feel for how promises are used, you will first be introduced to the Fetch API, which uses promises heavily. Then, we will backtrack and dive into a detailed description of the promises themselves.
Fetch is another API that enables you to make network requests and REST service calls, similar to jQuery's AJAX methods or the native XMLHttpRequest
. The main difference is that the Fetch API uses promises, which has a cleaner and more concise syntax that helps you avoid callback hell.
Typical Fetch API usage for a JSON request looks something like this:
fetch(someURL) ...