haochi / Angular2 Web Worker
Web worker for Angular 2
Stars: ✭ 53
Programming Languages
typescript
32286 projects
Labels
Projects that are alternatives of or similar to Angular2 Web Worker
Ngx Virtual Scroller
Virtual Scroll displays a virtual, "infinite" list.
Stars: ✭ 915 (+1626.42%)
Mutual labels: angular2
Generator Fountain Webapp
Yeoman 'fountain' generator to start a webapp
Stars: ✭ 985 (+1758.49%)
Mutual labels: angular2
Angular Tree Component
A simple yet powerful tree component for Angular (>=2)
Stars: ✭ 1,031 (+1845.28%)
Mutual labels: angular2
Angular2 Social Login
Simple client side social authentication for Angular2 application.
Stars: ✭ 34 (-35.85%)
Mutual labels: angular2
Ionic2 Environment Variables
Demonstration on how to easily setup environment variables in Ionic 2
Stars: ✭ 20 (-62.26%)
Mutual labels: angular2
Ngautocomplete
Light-weight autocomplete component for Angular.
Stars: ✭ 52 (-1.89%)
Mutual labels: angular2
Ng2 Md Datatable
Angular 5+ DataTable component for using with Material Design 2
Stars: ✭ 40 (-24.53%)
Mutual labels: angular2
Angular2 Webpack Boilerplate
A boilerplate for Angular 2 and Webpack
Stars: ✭ 30 (-43.4%)
Mutual labels: angular2
Ng2 Bootstrap Modal
Library to simplify the work with bootstrap modal dialogs
Stars: ✭ 53 (+0%)
Mutual labels: angular2
Awesome Angular
📄 A curated list of awesome Angular resources
Stars: ✭ 8,160 (+15296.23%)
Mutual labels: angular2
Angular2 Take Until Destroy
Declarative way to unsubscribe from observables when the component destroyed
Stars: ✭ 40 (-24.53%)
Mutual labels: angular2
What is this?
Web worker service for Angular 2.
Install
npm i angular2-web-worker
API
export interface IWebWorkerService {
run<T>(workerFunction: (any) => T, data?: any): Promise<T>;
runUrl(url: string, data?: any): Promise<any>;
terminate<T>(promise: Promise<T>): Promise<T>;
}
-
run
-
workerFunction
:- Must be a self-contained function. Cannot reference outside variables.
- You can import other libraries with
importScripts
though - These are okay:
-
run(input => input * input, 10); run(input => { const square = num => num * num; return square(input); }, 10); const someFunction = (input) => input * input); run(someFunction, 10); class Runner { private webWorkerService = new WebWorkerService(); constructor() { this.webWorkerService.run(this.someFunction, 10); } someFunction() { return input * input; } }
- These will probably NOT work:
-
// this is not okay because inside the context of the web worker `this` is not the same `this` as here. run(input => this.square(input), 10); // this is not okay because `_` doesn't exist in the web worker context (assuming tht `_` is available here to begin with) run(input => { return _.uniqueId() * input; }, 10);
-
data
: serializable data
-
-
runUrl
: Basically the same as-
url
: The url you would use to create aWorker
instance -
data
: Same as therun
method
-
-
terminate
: Calling this willterminate
the web worker, if it is still running.-
promise
: ThePromise
instance returned byrun
orrunUrl
.
-
Example
Check out angular2-web-worker-example for a sample project,
or see app/app.component.ts
for usage with an Angular 2 application.
export class AppComponent implements OnInit {
constructor(private _webWorkerService: WebWorkerService) {
}
ngOnInit() {
const input = 100;
const promise = this._webWorkerService.run(this.someCPUHeavyFunction, input);
promise.then(result => console.log(result));
}
someCPUHeavyFunction (input) {
return input * 10;
}
}
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].