Parallel execution with Promise
How to test that execution is really parallel?
by brigand
HTML
<meta charset="utf-8" />
<p id="one">1</p>
<p id="two">1</p>
JavaScript
/*
const bla = async() => 3; const zomg = async() => 5;
Promise.all( [bla(),zomg()] ).then( ([blaResult, zomgResult])
=> console.log( `resolved ${blaResult} ${zomgResult}`) )
*/
var one = document.getElementById("one");
var two = document.getElementById("two");
async function bla() { //just loop through numbers and log them
for (var i = 0; i < 10; i++) {
await null;
one.innerHTML = Number(one.innerHTML) + 1;
console.log(one.id + " = " + one.innerHTML);
}
return 3;
}
async function zomg() { //same, but on other element
for (var i = 0; i < 10; i++) {
await null;
two.innerHTML = Number(two.innerHTML) + 1;
console.log(two.id + " = " + two.innerHTML);
}
return 5;
}
Promise.all([bla(), zomg()]).then(function([blaResult, zomgResult]) {
console.log(`resolved ${blaResult} ${zomgResult}`);
});