嗯,我是javascript的新手并且听说它是单线程的。在我看来,如果你发出异步请求,它应该启动一个自己的线程来控制服务器是否已经响应。这在Javascript中不起作用。我在想是否有一些内置机制可以保存所有听众并调用它们,具体取决于他们“同意”(onreadystatechange)的条件。
这只是一个假设,我想我完全错了。好吧,也许有人可以帮助我吗?
答案 0 :(得分:2)
如您所知,XHR对象对所有浏览器都不同。例如,IE使用ActiveX,FF使用XMLHttpRequest对象,...有一些努力通过引入XHR2 object在HTML5中统一这一点,但它仍然没有被广泛支持。因此,每个浏览器的实现方式都不同。有些人可能会使用线程,有些则可能会使那不是纯粹的javascript。当人们说javascript是单线程时,他们意味着你不能在javascript中手动创建线程。但这并不意味着你不能进行异步编程。