A promise is essentially an API that returns a future value, or a way to manage callback functions. More technically, a promise is a programming pattern that helps invoking a mechanism that is going to be asynchronous in nature.
See the definition for "promise" on stackoverflow.com which is quite good, verbose and comprehensive.