【问题标题】:Web worker in Angular CLIAngular CLI 中的 Web Worker
【发布时间】:2018-02-08 17:35:50
【问题描述】:

我一直在研究 Angular app,它在客户端计算量很大,因此 UI 被阻止。我想在 Angular CLI 项目中使用 Web worker 在一个线程中运行 UI 并在 background thread 中进行大量处理。

有人对

有意见吗?
  • 如何处理 Angular 中的繁重计算。
  • 如何在Angular CLI 中使用Web Workers

一些参考
Angular CLI generated app with Web Workers
https://github.com/angular/angular-cli/issues/5885

【问题讨论】:

  • 为什么投反对票?

标签: javascript multithreading angular web-worker


【解决方案1】:

您可以使用https://www.npmjs.com/package/angular2-web-worker

将 web worker 服务注入到你的构造函数中:

 construtor(private webWorkerService: WebWorkerService){
     this.webWorkerService.run( thing to run goes here );
 }

【讨论】:

    【解决方案2】:

    我不确定您尝试使用 Web Worker 运行哪个 Angular 版本,因此我提供了使用 Web Worker 运行 Angular 的所有详细信息。

    为了在您的 Angular 应用程序中使用 Web Workers,您有两种选择:

    1. 在不同的 Web Worker 线程中运行您 App 的所有业务逻辑。
    2. 在 Web 工作线程中运行应用程序的一些 CPU 密集型逻辑。应用程序的其余部分将继续在主线程中运行。

    使用 Angular CLI 6 生成 Angular 6 的选择 #1:

    Article: Using web workers with Angular 6


    使用 Angular CLI 1 生成的 Angular 5 或更低版本的选择 #1:

    Blog: Angular with Web Worker: Step by Step


    使用 Angular 5 或 Angular 6 选择 #2

    SlideShare: Web Worker in your Angular Application


    所有这些参考都在 Github 中提供了示例代码参考。

    我希望这将有助于您了解不同的用例并选择最适合您的应用程序需要的用例。

    【讨论】:

      猜你喜欢
      • 2019-11-26
      • 1970-01-01
      • 1970-01-01
      • 2019-04-05
      • 2018-01-03
      • 2019-10-17
      • 1970-01-01
      • 2018-10-14
      • 2019-01-18
      相关资源
      最近更新 更多