DEV Community

Matt Ryan
Matt Ryan

Posted on

What is a Promise Callback

A Promise callback is a function that is passed as an argument to the Promise constructor or to the then() method of an existing Promise. The callback function will be executed when the Promise is either resolved or rejected.

There are two types of Promise callbacks:

  1. Resolve callback: This is the function that is executed when the Promise is fulfilled with a value. It takes the resolved value as an argument.
  2. Reject callback: This is the function that is executed when the Promise is rejected with a reason. It takes the rejection reason as an argument.

Resolve Callback

A Resolve callback is a function that is passed as an argument to the then() method of a Promise. The Resolve callback is executed when the Promise is fulfilled or resolved with a value. The resolved value is passed as an argument to the Resolve callback function.

The then() method can be called on a Promise to register a Resolve callback function that will be executed when the Promise is fulfilled with a value. The Resolve callback is usually used to handle the result of an asynchronous operation, such as an HTTP request or a database query.

Here's an example of using a Resolve callback with a Promise:

const myPromise = new Promise((resolve, reject) => {
  // Do some asynchronous operation
  // If successful, call resolve() with the result
  // If there's an error, call reject() with the reason
});

myPromise.then(
  (result) => {
    // Handle the resolved value
    console.log(`The result is: ${result}`);
  },
  (reason) => {
    // Handle the rejection reason
    console.error(`The Promise was rejected: ${reason}`);
  }
);
Enter fullscreen mode Exit fullscreen mode

In this example, the Promise constructor takes a function with two arguments: resolve and reject. These are functions that can be called to fulfill or reject the Promise, respectively. The then() method is used to attach a Resolve callback function that will be executed when the Promise is fulfilled with a value.

The Resolve callback function takes the resolved value as an argument and can be used to handle or process the result of the asynchronous operation.

Reject Callback

A Reject callback is a function that is passed as an argument to the then() method of a Promise. The Reject callback is executed when the Promise is rejected with a reason. The rejection reason is passed as an argument to the Reject callback function.

The then() method can be called on a Promise to register a Reject callback function that will be executed when the Promise is rejected with a reason. The Reject callback is usually used to handle errors or exceptions that occur during an asynchronous operation, such as an HTTP request or a database query.

Here's an example of using a Reject callback with a Promise:

const myPromise = new Promise((resolve, reject) => {
  // Do some asynchronous operation
  // If successful, call resolve() with the result
  // If there's an error, call reject() with the reason
});

myPromise.then(
  (result) => {
    // Handle the resolved value
    console.log(`The result is: ${result}`);
  },
  (reason) => {
    // Handle the rejection reason
    console.error(`The Promise was rejected: ${reason}`);
  }
);
Enter fullscreen mode Exit fullscreen mode

In this example, the Promise constructor takes a function with two arguments: resolve and reject. These are functions that can be called to fulfill or reject the Promise, respectively. The then() method is used to attach a Reject callback function that will be executed when the Promise is rejected with a reason.

The Reject callback function takes the rejection reason as an argument and can be used to handle or process the error or exception that occurred during the asynchronous operation.

Promise callbacks are an important part of working with Promises in JavaScript, as they allow you to handle the results of asynchronous operations in a structured and flexible way.

Top comments (0)