Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork4
A library for comfortable use of Web Workers API in Angular
License
ng-web-apis/workers
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Attention! This repository is archived and the library has been moved totinkoff/ng-web-apis monorepository
Part of
Web APIs for Angular
This is a library for comfortable use ofWeb Workers APIwith Angular.
If you do not have@ng-web-apis/common:
npm i @ng-web-apis/commonNow install the package:
npm i @ng-web-apis/workersCreate a worker and use it in a template withAsyncPipe:
import{WebWorker}from'@ng-web-apis/workers';functioncompute(data:number):number{returndata**2;}@Component({template:` Computed Result: <ng-container *ngIf="worker | async as event">{{ event.data }}</ng-container> <form (ngSubmit)="worker.postMessage(input.value)"> <input #input /> <button type="submit">Send to worker</button> </form> `,})classSomeComponent{readonlyworker=WebWorker.fromFunction<number,number>(compute);}
To get data from the worker event, use the toData operator
import{toData,WebWorker}from'@ng-web-apis/workers';functioncompute(data:number):number{returndata**2;}@Component({template:` Computed Result: {{ workerData$ | async }} <form (ngSubmit)="worker.postMessage(input.value)"> <input #input /> <button type="submit">Send to worker</button> </form> `,})classSomeComponent{readonlyworker=WebWorker.fromFunction<number,number>(compute);readonlyworkerData$=this.worker.pipe(toData());}
It's the same withWorkerPipe only:
import{WorkerModule}from'@ng-web-apis/workers';import{NgModule}from'@angular/core';@NgModule({imports:[WorkerModule],declarations:[SomeComponent],})classSomeModule{}
import{WorkerExecutor,WebWorker}from'@ng-web-apis/workers';import{FormControl}from'@angular/forms';@Component({template:` Computed Result: {{ value | waWorker: changeData | async }} <input [(ngModel)]="value" /> `,})classSomeComponent{value:string;changeData(data:string):string{return`${data} (changed)`;}}
OtherWeb APIs for Angular by@ng-web-apis
Do you also want to open-source something, but hate the collateral work?Check out thisAngular Open-source Library Starterwe’ve created for our projects. It got you covered on continuous integration,pre-commit checks, linting, versioning + changelog, code coverage and all that jazz.
About
A library for comfortable use of Web Workers API in Angular
Topics
Resources
License
Code of conduct
Contributing
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Contributors3
Uh oh!
There was an error while loading.Please reload this page.