```js
console.log("Start program")
function run(){
queueMicrotask(()=>console.log("queued microtask"))
console.log("Operations in run function")
return null
}
setTimeout(()=>console.log("Coming from event loop"),0)
queueMicrotask(()=>console.log("second queued microtask"))
run()
console.log("Finish program")
```
[Queued microtasks](https://developer.mozilla.org/en-US/docs/Web/API/HTML_DOM_API/Microtask_guide) are a stack of microtasks that runs after the execution of the current context ends before running macrotasks like `setTimeout` or `setInterval`.