What does this code print? Write one line for each console log call.
console.log('sync 1');
setTimeout(() => {
console.log('timeout');
}, 0);
Promise.resolve().then(() => {
console.log('then');
});
console.log('sync 2');console.log('sync 1');
setTimeout(() => {
console.log('timeout');
}, 0);
Promise.resolve().then(() => {
console.log('then');
});
console.log('sync 2');