我正在阅读这篇文章:http://blog.carbonfive.com/2013/10/27/the-javascript-event-loop-explained/,其中有这样一句话:“执行单线程请求运行时执行操作,提供回调函数并继续执行其他任务。当操作完成后,该操作会被放在消息队列中,同时也会携带回调函数。在将来的某个时间点,消息将被取出并执行相应的回调函数。”我的理解是:这里发生了什么事情的一个例子如下:
问题:
1)someAjaxCall是正确的操作,callbackcode是回调函数吗?
2)基本上当调用someAjaxCall时,会排队一个指向回调函数的消息,对吗?在调用console.log("y")或堆栈被清空后,消息将被出列并触发回调/回调代码?
console.log("x")
someAjaxCall(function({
callbackcode
})
console.log("y")
问题:
1)someAjaxCall是正确的操作,callbackcode是回调函数吗?
2)基本上当调用someAjaxCall时,会排队一个指向回调函数的消息,对吗?在调用console.log("y")或堆栈被清空后,消息将被出列并触发回调/回调代码?
然后有这句话:
3)运行时是什么意思?这是什么意思?我只是认为调用堆栈可以恢复执行,当它被清空时...消息就可以被出列了吗?"调用方与响应之间的解耦允许JavaScript运行时在等待异步操作完成和它们的回调触发时做其他事情。"