如何在Angular中使用WebWorker?

时间:2017-12-24 13:12:26

标签: javascript angular typescript ionic3 web-worker

我在开发离子应用程序方面非常新,并尝试将任务外包给网络工作者。这只是理解这一原则的一个小例子。

tabs.ts:

false

worker.js:

@Component({
  templateUrl: 'tabs.html'
})
export class TabsPage {
  tab1Root = HomePage;
  tab2Root = AboutPage;
  tab3Root = ContactPage;

  constructor() {
        this.worker();
  }

  worker(){
    let myWorker : Worker = new Worker('worker.js');

    myWorker.onmessage = function(event){

            console.log(event.data.value;);

            };

    myWorker.onerror = function(event){
              throw new Error(event.message + " (" + event.filename + ":" + event.lineno + ")");
      }
}
}

我的问题是工作人员没有收到消息,只是抛出一个未定义的错误。

  

运行时错误:未定义(未定义:未定义)

1 个答案:

答案 0 :(得分:1)

您需要将worker.js文件放在assets文件夹中,如下所示:

let myWorker : Worker = new Worker('../assets/worker.js');