David Bruant (2013-06-20T14:50:31.000Z)
github at esdiscuss.org (2013-07-12T02:27:36.831Z)
Forbes Lindesay: > I've been answering quite a few questions about promises on stack > overflow lately. Do you have a link to a list to these questions (and/or your answers) off-top your browser history by any chance? I wasn't there when that started, but it feels like "then" organically grew out of the experience of using promises a lot which naturally leads to promise pipelining. It doesn't feel like the most "fundamental brick" to understand what promises are (what .done looks like though), because it isn't. At a first approximation, people can use .then the way the expect (without caring for the return value) > I think `.done()` could be extremely useful purely as a teaching > device. If we started everyone off by learning to use `.done()` they > would have a much shallower learning curve. Initially they'd get all > their errors thrown immediately which would be easier to see. That's how Q behaves out of necessity, but native promises can have better integration with debugging tools and don't need to reflect the error at runtime. > It would be much more similar to typical (but terrible) DOM APIs .then can be taught without telling it returns something ;-)