window.open 强制新 JavaScript 线程

window.open force new JavaScript thread

有谁知道是否有办法为新的 window 强制创建新的 JavaScript 线程?

我有一个 ExtJs 应用程序,其渲染步骤正在扼杀用户交互。我现在不能扔掉整个 Ext 应用程序,所以我设计了一种方法来利用 localStorage 来管理浏览器 windows 之间传递的事件并替换应用程序的高 activity 数据输入部分在 Ext 应用程序的新 window 中生成了一个 Angular2 应用程序。

虽然在 Angular2 方面表现出色,但当带有 Ext 应用程序的父 window 在渲染步骤中挂起时,带有 Angular2 应用程序的 window 也会挂起,从而导致用户丢失击键(这很糟糕)。

理想情况下,能够将 Angular2 应用程序的 JavaScript 线程与 Ext 线程分离是我想要做的。

有人知道这是否可行吗?

Javascript 不是线程语言。但是,有一些替代方法可以使用 运行 函数而不阻塞 UI。最广泛使用的解决方案是使用 WindowTimer functions.

在此处进一步阅读:How can I create an Asynchronous function in Javascript?

实际上这取决于浏览器如何处理它.... 还取决于你如何使用什么参数打开浏览器。 如果 parent 和 child 耦合在一起,那么它可能是一个问题。如果 parent 和 child 是独立的,那么你可能会有一些帮助。

检查这个答案

无法强制 新JavaScript 主线程用于新window。