Skip to content

sebdoucet/aster-js-events

 
 

Repository files navigation

@aster-js/events

Provides proper separation between the emitter and the event.

Declaration

import { EventEmitter, IEvent } from "@aster-js/events";

class DataLoader<T> {
    private readonly _onDataLoaded = new EventEmitter<T>();

    get onDataLoaded(): IEvent<[T]> { return this._onDataLoaded.event; }

    fetchData(): Promise<void> {
        fetch("https://myapi.io/data")
            .then(r => r.json())
            .then(data => this._onDataLoaded.trigger(data));
    }
}

Usage

type DataItem = { id: number, name: string };

const loader = new DataLoader<DataItem[]>();

loader.onDataLoaded((items: DataItem[])=> {
    // Do stuff
});

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 86.0%
  • JavaScript 14.0%