AngularWebWorker如何访问共享函数?
创始人
2024-10-29 22:30:26
0
  1. 将共享函数封装在一个模块中,通过 Angular 的 Provider 注册到主应用程序和 Web Worker 中。
// shared.module.ts
import { NgModule } from '@angular/core';
import { SharedService } from './shared.service';

@NgModule({
  providers: [SharedService]
})
export class SharedModule {}

// shared.service.ts
import { Injectable } from '@angular/core';

@Injectable()
export class SharedService {
  public sharedFunction(): void {
    console.log('Shared function called');
  }
}
  1. 在主应用程序中,将共享模块导入 AppModule 并设置为全局可用。
// app.module.ts
import { NgModule } from '@angular/core';
import { SharedModule } from './shared/shared.module';

@NgModule({
  imports: [SharedModule]
})
export class AppModule {}
  1. 在 Web Worker 中创建一个新的 AppModule 并导入 SharedModule。
// worker-app.module.ts
import { NgModule } from '@angular/core';
import { SharedModule } from '../shared/shared.module';

@NgModule({
  imports: [SharedModule]
})
export class WorkerAppModule {}
  1. 在 Web Worker 中,手动启动应用程序并将 WorkerAppModule 作为根模块。
// worker.ts
import { platformWorkerAppDynamic } from '@angular/platform-webworker-dynamic';
import { WorkerAppModule } from './worker-app/worker-app.module';

platformWorkerAppDynamic().bootstrapModule(WorkerAppModule);
  1. 在 Web Worker 中,注入 SharedService 并调用共享函数。
// worker.component.ts
import { Component } from '@angular/core';
import { SharedService } from '../../shared/shared.service';

@Component({
  selector: 'app-worker',
  template: 'Worker component'
})
export class WorkerComponent {
  constructor(private sharedService: SharedService) {
    this.sharedService.sharedFunction();
  }
}
  1. 在主应用程序中,通过 MessageEvent 向 Web Worker 发送消息,并在 Web Worker 中接收并处理该消息。
// app.component.ts
import { Component, OnInit } from '@angular/core';

@Component({
  selector: 'app-root',

相关内容

热门资讯

透视新版!aapoker辅助插... 透视新版!aapoker辅助插件工具(透视)透视脚本(总是是有挂)1、每一步都需要思考,不同水平的挑...
透视游戏!aa poker辅助... 透视游戏!aa poker辅助(透视)透视软件(真是是真的有挂)1、进入到aa poker辅助黑科技...
透视科技!aapoker真的假... 透视科技!aapoker真的假的(透视)ai插件(本来真的有挂)1、完成aapoker真的假的透视辅...
透视辅助!aapoker如何设... 透视辅助!aapoker如何设置胜率(透视)透视插件(本来是真的有挂);1、进入游戏-大厅左侧-新手...
透视中牌率!aapoker透视... 透视中牌率!aapoker透视方法(透视)透视脚本(切实是有挂);1、完成aapoker透视方法透视...
透视系统!aapoker脚本怎... 透视系统!aapoker脚本怎么用(透视)透视脚本下载(确实存在有挂)1、进入游戏-大厅左侧-新手福...
透视苹果版!aapoker如何... 透视苹果版!aapoker如何设置胜率(透视)透视软件(本来是真的有挂)1)aapoker如何设置胜...
透视有挂!aapoker怎么拿... 透视有挂!aapoker怎么拿好牌(透视)透视脚本下载(确实是真的有挂)1、操作简单,无需注册,只需...
透视存在!aapoker免费透... 透视存在!aapoker免费透视脚本(透视)透视插件(真是存在有挂)1、金币登录送、破产送、升级送、...
透视中牌率!aa poker透... 透视中牌率!aa poker透视软件(透视)万能辅助器(竟然是真的有挂);aa poker透视软件是...