Tool for angular projects or reactive applications with rxjs, take a look!
const heroes: Hero[] = [
{ name: 'Peter', level: 25 },
{ name: 'Tony', level: 50 },
{ name: 'Stephen', level: 99 }
];
getHeroes() {
return of(heroes); // httpClient on Angular or from (rxjs/operators) for Promise
}
readonly request = new Action<Hero[]>();
getHeroes() {
this.request.exec(
this.appService.getHeroes(), // Observable
(response: Hero[]) => console.log('success', response),
(error: Error) => console.log('error', error)
);
}
<ng-container *ngIf="request.$ | async as data">
<span *ngIf="data.loading">Loading...</span>
<span *ngIf="data.error">Error! {{ data.error }}</span>
...
<tr *ngFor="let row of data.payload">
<td>{{ row.name }}</td>
<td>{{ row.level }}</td>
</tr>
...
</ng-container>
``