关于浏览器打印的一个疑问得到了解决:
在学习promise的时候遇到了promise的状态在点开前后不一样的情况,
<script>
let p1 = new Promise((resolve, reject) => {
resolve("p1的promise")//同步执行的
})
let p2 = p1.then(
value => console.log(value),
reason => console.log(reason)
)
console.log(p1)
console.log(p2)
// setTimeout(() => {
// //忽略上面的打印,执行下面两个打印的时候,then产生的微任务已经执行了,所以p2变成了fulfilled
// console.log(p1)
// console.log(p2)
// })
</script>
浏览器控制台输出如下:
其实这个可以从下面的一个小例子来理解:
<script>
let obj = {a:1}
console.log(obj)
obj.a = 2
console.log(obj)
</script>
浏览器输出如下: