Promises class

A Promise class represents an operation that hasn’t completed yet but is expected to be completed inthe future. We know that the .then or .catch functions are invoked asynchronously when the promised result (or error) is available.
Inside and async funtion, the await keyword is available to automatically wait for a Promise to resolve. It returns the result of a Promise, or else throws errors, inthe natural location at the next line of code, while also accommodating asynchronous execution.