Tag: 单线程

如果在ajax调用期间显示警告窗口,会发生什么情况?

我只是想知道如果在执行ajax调用时会在浏览器窗口中向用户发出提示,会发生什么情况。 比方说,我有一个Ajax调用 $.ajax({ url: …, type: GET/POST, … success: function(data){ console.log(data); }, error: … }); 需要很长时间才能完成(10秒)。 当调用被执行时,会引发一个简单的javascript警报 alert("hello!"); 以下情况会发生什么情况: ajax调用开始 ajax调用获取数据 显示警报 ajax调用返回数据(警报窗口仍然打开!) 知道JS是单线程的我知道脚本执行将停止,我只是想知道如果没有及时closures警报窗口,ajax调用/响应会发生什么。 我希望我很清楚,这不是一个“虚拟”的问题。 谢谢

为什么不是setTimeout取消我的循环?

我想知道JavaScript语句(在Chrome的控制台中)可以在一毫秒内增加一个variables的次数,所以我很快就把这个代码片段直接写到了控制台中: var run = true, i = 0; setTimeout(function(){ run = false; }, 1); while(run){ i++; } 问题是它永远运行。 为什么会发生这种情况,我该如何解决?

单线程单元 – 不能实例化ActiveX控件

我需要获取有关HTML页面中应用的CSS样式的信息。 我用AxWebBrowser和迭代IHTMLDOMNode。 我能够获取所需的所有数据,并将代码移到我的应用程序中。 问题是,这部分运行在后台工作人员,我试图实例化控制exception。 AxWebBrowser browser = new AxWebBrowser(); ActiveX control '8856f961-340a-11d0-a96b-00c04fd705a2' cannot be instantiated because the current thread is not in a single-threaded apartment. 有没有办法如何解决这个或其他选项比AxWebBrowser?