es7のasync/awaitのシンプルな例
var sleep = (delay) => {
  return new Promise((resolve) => {
    setTimeout(() => {
      resolve();
    }, delay);
  });
};
var threeWiseMonkeys = async () => {
  await sleep(1000);
  console.log('see no evil');
  await sleep(2000);
  console.log('hear no evil');
  await sleep(3000);
  console.log('speak no evil');
}
threeWiseMonkeys();
また、sleepは下記のようにも書ける
var sleep = delay => new Promise( resolve => setTimeout(resolve, delay) );