Javascript 具有角度2+的网络工作者;

Javascript 具有角度2+的网络工作者;,javascript,angular,performance,web-worker,Javascript,Angular,Performance,Web Worker,在angular的上下文中,我对web workers没有什么问题,所以基本上我在使用webapp(仪表板),它有几个小部件(表[ag grid enterprise]、图表[e-charts]、数据卡[custom html]),每个小部件都有自己的数据获取机制(web套接字或每3分钟轮询一次)。我有时会面临巨大的延迟或浏览器冻结屏幕(当套接字将数据轰炸到用户界面时,这种情况会更为频繁),这是一种管理单元式的chrome [有关浏览器冻结的更多内容] 因此,一个页面上最多显示7-8个小部件(显

在angular的上下文中,我对web workers没有什么问题,所以基本上我在使用webapp(仪表板),它有几个小部件(表[ag grid enterprise]、图表[e-charts]、数据卡[custom html]),每个小部件都有自己的数据获取机制(web套接字或每3分钟轮询一次)。我有时会面临巨大的延迟或浏览器冻结屏幕(当套接字将数据轰炸到用户界面时,这种情况会更为频繁),这是一种管理单元式的chrome

[有关浏览器冻结的更多内容]

  • 因此,一个页面上最多显示7-8个小部件(显示页面有3级组件嵌套),中间组件(保存小部件[子组件])负责获取数据并将其移交给子组件
  • 当收到数据时,在将数据交给库进行渲染之前(通过“ag grid”/“e-chart”或仅更新“DOM{{variable}}”)对数据进行一些条件“规则”计算
  • 这些规则嵌套到两个级别
  • 一旦满足条件,它将返回最终的规则集,从中我将获得所有的
    applythisuiffect:[]
    并相应地应用于它 为了避免繁重的计算,Webworker似乎是改变计算方式的最可行的选择,但我只做了几件事,无法找到答案

    [查询]

  • 如果使用angular应用程序创建web Worker,并在其中进行管理,例如在应用程序级别/模块级别/组件级别,然后与嵌套子级通信
  • 如何管理两个线程之间的竞争条件,例如,在计算之后,我想向主线程发送一条消息,以便它可以更新一个变量,并且该变量将在UI中产生差异
  • 如果我们将轮询和套接字功能转移到web Worker,它将如何与每个小部件通信(如果webworker在模块级或父级是单个的)
  • 如果我终止了一个网络工作者的工作,它是否可以重新恢复
  • 作为angular framework提供的通过web worker引导应用程序的选项之一,是否存在任何缺点,因为每个应用程序都不能像这样引导
  • 若能提供一些架构方面的建议,这将有助于在angular应用程序中与网络工作者交流

    附言:我能够在app级别旋转webworker,但无法决定如何将其与嵌套组件一起使用

      rules = [ {
            status: acive/inactive,
            operationOnConditions: '&&' / '||'
            condition : [
                {
                    value: 5,
                    opeartaion: '===',
                    type: 'number',
                    field:'maximumMarks',
                },{},{},{},{} // max-5
            ],
            applyThisUIEffect:[
                {}
            ],
           applyThisBackgroundEffect:[
                {}
           ]
        },
       {} ,{}, {}
       ]