A promise is an object that may produce a single value some time in the future: either a resolved value, or a reason that it’s not resolved