All Projects → haochi → Angular2 Web Worker

haochi / Angular2 Web Worker

Web worker for Angular 2

Programming Languages

typescript
32286 projects

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
Angular Gridster2
Angular gridster 2
Stars: ✭ 956 (+1703.77%)
Mutual labels:  angular2
Angular2 Social Login
Simple client side social authentication for Angular2 application.
Stars: ✭ 34 (-35.85%)
Mutual labels:  angular2
Ng2 Pdf Viewer
📄 PDF Viewer Component for Angular 5+
Stars: ✭ 997 (+1781.13%)
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
Sails Angular2
A sample Sails and Angular 2 starter app
Stars: ✭ 35 (-33.96%)
Mutual labels:  angular2
Ng Selectize
Angular Selectize
Stars: ✭ 44 (-16.98%)
Mutual labels:  angular2
Ngvas
An Angular2/Angular4 library for HTML Canvas.
Stars: ✭ 31 (-41.51%)
Mutual labels:  angular2
Ng2 Ace
A basic ace editor directive for angular 2.
Stars: ✭ 33 (-37.74%)
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 Sweetalert2
A sweetalert2 service for angular2.
Stars: ✭ 49 (-7.55%)
Mutual labels:  angular2
Angular Token Auth Seed
Stars: ✭ 20 (-62.26%)
Mutual labels:  angular2
Dejajs Components
Angular components
Stars: ✭ 37 (-30.19%)
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 a Worker instance
    • data: Same as the run method
  • terminate: Calling this will terminate the web worker, if it is still running.
    • promise: The Promise instance returned by run or runUrl.

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].