If 'A' goes into callback queue and 'B' and 'C' both still have to be executed, will A run after B (assuming that its timeout is complete), or will C run first?
I assume it will be A?
Here is a proof of concept.
setTimeout(()=> console.log('C'), 500);
setTimeout(()=> console.log('B'), 500);
for (let i=0; i <= 99999; i++)
for (let j=0; j <= 99999; j++)
if (i === 9999 && j === 9999) //< Note that the loop still continues after this
setTimeout(()=> console.log('A'), 0); //Note the zero
Here is a guide: