One of the good Features in ES6 is Promises Object and their useful methods and they are called software abstraction helps to works smoothly with asynchronous operations. Promise API followed Promises/A+ Specification prior to this, there was Promise/A.
What is Promises/A and Promises/A+ ?
- The main three reason for using Promise/A+ is Three different states, Value for Fulfilment and for Rejection and thenable object. for more detail see Differences from Promises/A
- These Promise/A+ organisation occasionally revise and address the corner cases in to new Specification.
Difference between Promise/A and /A+?
- Rejection / Fulfilment method returns thenable object.
- Rejection triggers catch method, if errors thrown.
In short, running continuation-passing style. Let me shoot few bullets with simple diagram on Promises below.