Editor
function test(fn) {
console.log("test start");
fn();
console.log("test end");
}

test(() => {
console.log("callback start");

setTimeout(function timeoutFn() {
console.log("from setTimeout");
}, 1000);

console.log("callback middle");

queueMicrotask(function microtaskFn() {
console.log("from queueMicrotask");
});

console.log("callback start");
});

console
Call Stack
Web APIs
Task Queue
Microtask Queue