I just started reading about Promise/A+ and wanted to try it for myself.
I added multiple then() callbacks and this behavior was surprising.
1) Chaining the then doesn't return the same promise
  > new Promise(function(a, r) {a('hello')}).
      then(function(r) { console.log('1', arguments) }).
      then(function(r) { console.log("2", arguments) })
  1 ["hello"]
  2 [undefined]
2) Not-chaining works as I expected
> p = new Promise(function(a, r) {a('hello')}); 
    p.then(function(r) { console.log('1', arguments) }); 
    p.then(function(r) { console.log("2", arguments) })
1 ["hello"]
2 ["hello"]
What is the use case for scenario #1?
 
    