JavaScript method syntax and chaining Promises

Live demo

promise

  .then((bar) => { return do_this(bar); }) /* 1: YES */

  .then(function(bar) { do_this(bar); }) /* 2: NO */

  .then(function (bar) { return do_this(bar); }) /* 3: YES */

  .then((bar) => { do_this(bar); }) /* 4: NO */

  .then(do_this) /* 5: YES */

  .then((bar) => do_this(bar)) /* 6: YES */

  .then((bar) => { do_this(bar); }); /* 7 */