Skip to content

Instantly share code, notes, and snippets.

@dahool
Created June 13, 2018 13:46
Show Gist options
  • Save dahool/a2f08d0f23071e144ea39ebed1c5a35a to your computer and use it in GitHub Desktop.
Save dahool/a2f08d0f23071e144ea39ebed1c5a35a to your computer and use it in GitHub Desktop.

Revisions

  1. dahool created this gist Jun 13, 2018.
    24 changes: 24 additions & 0 deletions angularspinner.ts
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,24 @@
    import { NgxSpinnerService } from 'ngx-spinner';
    import { map, finalize } from 'rxjs/operators';
    import { HttpClient, HttpHeaders } from '@angular/common/http';

    ...

    private attachSpinner(ob : Observable<any>): Observable<any> {
    this.spinner.show();
    return ob.pipe(finalize(() => {
    this.spinner.hide()
    }));
    }

    ...

    let ob = this.http.get<ServerData[]>(this.url)
    .pipe(map((data: any) => {
    let serverList: ServerData[] = [];
    data.serverlist.forEach(s => {
    serverList.push({server: s);
    })
    return serverList;
    }));
    return this.attachSpinner(ob);