单个线程如何处理JavaScript中的异步代码

Arm*_*yan 2 javascript asynchronous

我知道javascript在单线程上运行.我也知道,当我们使用jquery进行异步ajax调用时,代码不会停止并继续执行串行执行.响应由回调处理.我的问题是单线程如何做到这一点?当我们得到响应时,线程是否处理回调并停止进一步的代码执行?

Thi*_*ilo 6

不,它不会停止代码执行.

回调排队,当没有其他任何东西要执行时,它将被运行.

没有两件事同时发生,并且调度不是先发制人.

因此,如果你让你的单线程忙于无限循环之类的东西,那么回调将永远不会有机会运行.