Two independent promise chains are scheduled. In what order do their handlers run?
const log = [];
Promise.resolve().then(() => log.push('a1')).then(() => log.push('a2'));
Promise.resolve().then(() => log.push('b1')).then(() => log.push('b2'));
setTimeout(() => console.log(log.join(',')), 0);