- Web Workerのセットアップ: まず、AngularプロジェクトにWeb Workerを追加する必要があります。以下のコマンドを使用して、Angular CLIを介してWeb Workerのサポートを追加します。
ng add @angular/platform-webworker
- Web Workerの作成:
Web Workerを作成するには、
Worker
クラスを使用します。以下のコードは、Web Workerを作成し、メッセージの送受信を行う簡単な例です。
// app.worker.ts
self.addEventListener('message', ({ data }) => {
const result = data * 2;
self.postMessage(result);
});
- Web Workerの利用:
Web WorkerをAngularコンポーネントで利用するには、
Worker
クラスのインスタンスを作成し、メッセージの送受信を行います。以下のコードは、AngularコンポーネントでWeb Workerを使用する例です。
// app.component.ts
import { Component } from '@angular/core';
import { Worker } from 'worker_threads';
@Component({
selector: 'app-root',
template: `
<button (click)="calculate()">Calculate</button>
<p>Result: {{ result }}</p>
`
})
export class AppComponent {
result: number;
calculate() {
const worker = new Worker('./app.worker', { type: 'module' });
worker.addEventListener('message', ({ data }) => {
this.result = data;
worker.terminate();
});
worker.postMessage(5);
}
}
上記の例では、ボタンをクリックするとWeb Workerが起動し、計算結果が表示されます。
これで、AngularでWeb Workerを作成し利用する方法を学びました。Web Workerを使用することで、アプリケーションのパフォーマンスを向上させ、ユーザーエクスペリエンスを向上させることができます。