var q = require('kew')
q.resolve(true).end().then(function (x) { console.log("I'm still here") })
Logs "I'm still here"
Notice that end() does end all exceptions
q.reject(new Error()).end().then(function () {
console.log('never logged')
}).fail(function () {
console.log('never logged')
})
In contrast, Q's done() method returns nothing, so that the promise can't be chained at all. (And I think that's the right API)