JavaScript Promises

JavaScript Promises

In JavaScript, a promise is an object that represents the eventual completion or failure of an asynchronous operation. Promises provide a simpler alternative for executing, composing, and managing asynchronous operations when compared to callback-based approaches.

A promise can be in one of three states: fulfilled, rejected, or pending. Promises start in the pending state and can either be resolved with a value (fulfilled) or rejected with a reason (error). Once a promise is fulfilled or rejected, it is settled and can no longer transition to a different state.

Promises are used to handle asynchronous operations in JavaScript, such as making HTTP requests or reading from a file. Instead of using callbacks to handle the results of these operations, you can use a promise to represent the operation and its result.

Here's an example of using a promise to make an HTTP request:

const getData = () => {
  return new Promise((resolve, reject) => {
    const xhr = new XMLHttpRequest();'GET', '');
    xhr.onload = () => resolve(xhr.responseText);
    xhr.onerror = () => reject(xhr.statusText);

To use this promise, you would call getData() and use the then() method to specify what should happen when the promise is fulfilled or rejected.

  .then(data => {
  .catch(error => {

The then() method returns a new promise that is fulfilled with the value returned from the handler function.

  • Date: