This document discusses promises in JavaScript for handling asynchronous code. It begins by showing an example of nested asynchronous callbacks, known as "the pyramid of doom". Promises provide a better solution by allowing for chained asynchronous operations, error handling, and notifications. The document then explains what defines a promise and provides browser support information. It includes examples of using native promises, the Q promise library, and wrapping existing asynchronous solutions like DWR calls with promises.