const fs = require('fs')
console.log("macrotask - script")
process.nextTick(() => console.log("microtask - nextTick"))
Promise.resolve().then(() => console.log("microtask - Promise"))
fs.stat(__filename, () => console.log("macrotask - IO"))
setImmediate(() => console.log("macrotask - setImmediate"))
setTimeout(() => console.log("macrotask - setTimeout"), 0)