Promise




2019/6Promise - JavaScript | MDN
>resolve
2021/2
> setTimeout(action,10)
---old
resolve
Promise(resolve, reject) => {...}resolvethen

create promise start
promise body start
sync body start
sync body end
promise body end
create promise end
specify promise.then start
specify promise.then end
resolved ok

const syncBody = (resolve: any, reject: any) => {
console.log("sync body start")
resolve("ok")
console.log("sync body end")
}
const asyncBody = (resolve: any, reject: any) => {
console.log("async body start")
setTimeout(() => {
console.log("timeout start")
resolve("ok")
console.log("timeout end")
}, 1000)
console.log("async body end")
}
console.log("create promise start")
let p = new Promise((resolve, reject) => {
console.log("promise body start")
syncBody(resolve, reject)
console.log("promise body end")
})
console.log("create promise end")
console.log("specify promise.then start")
p.then((x) => {
console.log("resolved", x)
})
console.log("specify promise.then end")