new Promise((resolve, reject) => {
  console.log("promise1")
  resolve()
}).then(() => {
  console.log("then11")
  new Promise((resolve, reject) => {
    console.log("promise2")
    resolve()
  }).then(() => {
    console.log("then21")
  }).then(() => {
    console.log("then23")
  })
}).then(() => {
  console.log("then12")
})The above code output is following, When I test my understanding of micro task and macro task with promise and I can not get the correct output.
// "promise1"
// "then11"
// "promise2"
// "then21"
// "then12"
// "then23"
To be more specific, I am confused about the last 3 outputs. Thanks for the help!
// "then21"
// "then12"
// "then23"
 
     
    