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