async、await がfirefoxで普通に使えた。
firefox52からサポートされてたらしい。
const sleep = (w) => new Promise(resolve => setTimeout(resolve, w))
(async () => {
await sleep(1000);
console.log("step1");
await sleep(1000);
console.log("step2");
await sleep(1000);
console.log("step3");
await sleep(1000);
console.log("end");
})();