Thanks for clarifying. This is a very neat way of removing what would be an extra level of nesting.
It doesn't look like native promises support this unfortunately: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
Another nitpick I have with native promises is that they require an extra level of nesting to get the resolve callback.
// How it is now
new Promise(function(resolve, reject) {
resolve('done');
});
// vs. What most libraries implement
var p = new Promise();
p.resolve(function() {
return 'done';
});