A Promise is an object that represents an eventual outcome (success or failure)
of an asynchronous operation and its resulting value. A promise is basically a
placeholder for a value (outcome of operation) or an error (reason for failure)
that we will receive at some point in the future, but