Reduce array of promises
by jib1
HTML
<div id="div"></div>
JavaScript
new Array(10).fill(i => new Promise(r => r(log("wat" + i))))
.reduce((a, b, i) => a.then(() => b(i)), Promise.resolve()).catch(failed);
var log = msg => div.innerHTML += "<p>" + msg + "</p>";
var failed = e => log(e.name + ": " + e.message + " line " + e.lineNumber);