Q: What is the difference between these four promises?
doSomething().then(function () {
  return doSomethingElse();
});

doSomething().then(function () {
  doSomethingElse();
});

doSomething().then(doSomethingElse());

doSomething().then(doSomethingElse);
If you know the answer, then congratulations: you're a promises ninja. You have my permission to stop reading this blog post.

http://pouchdb.com/2015/05/18/we-have-a-problem-with-promises.html