onlinecode

The Promise `catch()` Function in JavaScript

The Promise `catch()` Function in JavaScript

The Promise `catch()` Function in JavaScript

In this post, we will give you information about The Promise `catch()` Function in JavaScript. Here we will give you detail about The Promise `catch()` Function in JavaScript And how to use it also give you a demo for it if it is necessary.

Promises in JavaScript are an object representation of an asynchronous operation. Promises are like a placeholder for some value that may not have been computed yet.
If the async operation failed, JavaScript will reject the promise. The catch() function tells JavaScript what function to call if the promise is rejected:

const p = Promise.reject(new Error('Oops!'));

p.catch(err => {
  err.message; // 'Oops!'
});

With Promise Chaining

The major benefit of .catch() is that you can catch errors that
occurred anywhere in a promise chain.

const p = Promise.resolve('Na');

return p.
  then(str => str + ' Na').
  then(str => str + ' Na').
  then(str => str + ' Na').
  then(() => { throw new Error('Batman!') }).
  then(() => console.log('Will not print')).
  catch(err => {
    err.message; // 'Batman!'
  });

This means you only need one catch() at the end of a promise chain
to handle any errors that occur in the promise chain!

Rethrow Errors for The Promise `catch()` Function in JavaScript

You can rethrow errors in .catch(), similar to rethrowing with try/catch.

const p = Promise.reject(new Error('Oops!'));

return p.
  catch(err => { throw err; }). // Rethrow the error
  catch(err => {
    err.message; // 'Oops!'
  });

This also means you should be very careful about uncaught errors in your .catch() error handlers. If the function you pass to .catch() throws and you don’t have another .catch() afterward, you’ll get an unhandled promise rejection.

Unwrapping Errors for The Promise `catch()` Function in JavaScript

If your .catch() returns a value, you can “unwrap” that value with
await or then().

const p = Promise.reject(new Error('Oops!'));

const answer = await p.catch(() => 42);
answer; // 42

return p.
  catch(() => 42).
  then(answer => {
    answer; // 42
  });

In other words, you can handle async errors in JavaScript using Golang-like syntax.

const p = Promise.reject(new Error('Oops!'));

const err = await p.catch(err => err);
err.message; // 'Oops!'

Versus then()

The catch() function is just a thin layer of syntactic sugar on
top of the Promise then() function.
Recall that then() takes 2 parameters:

  • onFulfilled(): JavaScript will call this function if the underlying async operation succeeded.
  • onRejected(): JavaScript will call this function if the underlying async operation failed.

So .catch(fn) is the same thing as .then(null, fn). In other words, below is a one-line polyfill for catch():

Promise.prototype.catch = function(onRejected) {
  return this.then(null, onRejected);
};

That means you can handle promise errors with .then() as well:

const p = Promise.reject(new Error('Oops!'));

return p.then(() => {}, function onRejected(err) {
  err.message; // 'Oops!'
});

 

JavaScript Fundamentals for The Promise `catch()` Function in JavaScript

JavaScript is a programming language that is used to create interactive web pages. It is a client-side scripting language, which means that it runs on the user’s browser. JavaScript can be used to add animation, interactivity, and functionality to web pages.

Here are some of the fundamentals of JavaScript:

These are just some of the fundamentals of JavaScript. There are many other concepts that you can learn as you continue to develop your skills.

Here are some resources that you can use to learn more about JavaScript:

I hope this helps!

Here are some additional tips for learning JavaScript:

With a little practice, you’ll be able to learn JavaScript and start building amazing web applications.

Hope this code and post will helped you for implement The Promise `catch()` Function in JavaScript – onlinecode. if you need any help or any feedback give it in comment section or you have good idea about this post you can give it comment section. Your comment will help us for help you more and improve us. we will give you this type of more interesting post in featured also so, For more interesting post and code Keep reading our blogs

For More Info See :: laravel And github

Exit mobile version