【发布时间】:2019-08-07 17:16:54
【问题描述】:
function foo() {
console.log('foo called')
return Promise.resolve(5)
}
foo()
.then(res => {
console.log(res)
})
console.log('hi')
控制台输出:
1.) 'foo called'
2.) 'hi'
3.) 5
我的主要问题是当全局执行上下文线程完成并弹出执行堆栈时实际发生了什么。如果 Promise 对象未分配给全局执行上下文中的变量,JS/V8 如何知道该 Promise 对象在内存中的位置?它如何知道在哪里更新 promise 值并触发 onfullfilment 函数?
【问题讨论】:
-
我会看看 javascript 的事件循环是如何工作的。
标签: javascript memory promise v8 execution