> Almost a sure sign of using promises as glorified callbacks. Instead of doThat(function(err, success)) you do doThat().then(success, err) and rationalize to yourself that at least the code is "less coupled" or something.
The .then signature is mostly about interop, there is almost never a reason to use .then(success, fail) in application code. It is even awkward to express it in the sync parallel: