The unhandledRejection event is emitted whenever a promise rejection is not handled. "Rejection" is the canonical term for a promise reporting an error. As defined in ES6, a promise is a state machine representation of an asynchronous operation and can be in one of 3 states: "pending", "fulfilled", or "rejected". Somebody decided that JavaScript programmers couldn't be trusted with managing promise rejections properly and changed the HTML spec to require browsers to throw "unhandled promise rejection" errors if a rejected promise has no rejection handlers added before code returns to the event loop. The error usually happens in async await functions, and there’s an easy fix.
const functionName = async (arguments) => {
try {
// Your code here
} catch (error) {
// Handle rejection here
}
};