You're Missing the Point of Promises (2012)
a day ago
- #JavaScript
- #Promises
- #Asynchronous
- Promises/A+ development has made the emphasis on Promises/A spec seem outdated.
- jQuery's promises remain broken for backward compatibility, despite updates.
- Promises abstract asynchronous operations, moving from callback-passing to returning values representing eventual results.
- Promises allow treating asynchronous operations as first-class objects, enabling composition and aggregation.
- The point of promises is to provide a direct correspondence between synchronous and asynchronous functions, enabling return values and exception throwing in async contexts.
- Promises/A specifies the behavior of the `then` function, crucial for chaining and error handling.
- Correct implementation of `then` enables functional composition and error bubbling in async operations.
- jQuery's promises fail to comply with Promises/A, particularly in error handling and state transformation.
- Promises/A+ extends and clarifies Promises/A, promoting interoperability and correct implementation.
- Recommended compliant libraries include Q, RSVP.js, and when.js, offering full Promises/A+ support.