"A Promise is a programming model that deals with deferred results in concurrent programming. The basic idea around promises are that rather than issuing a blocking call for a resource (IO, Network, etc.) you can immediately return a promise for a future value that will eventually be fulfilled. This allows you to write non-blocking logic that executes asynchronously without having to write a lot of synchronization and plumbing code." - source: http://blogs.msdn.com/b/rbuckton/archive/2010/01/29/promises-and-futures...
"In short, a promise decouples the callback from the function call, while providing a more flexible method of executing callbacks for code that is potentially asynchronous."
DOM Promises are now apart of the "Living Standard" for DOM - source: http://dom.spec.whatwg.org/#i-promise-you-an-introduction