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}`);
});