[RxJS] Avoid mulit post requests by using shareReplay()

With the shareReplay operator in place, we would no longer fall into the situation where we have accidental multiple HTTP requests.

And this covers the main use cases for doing the most typical read and modification operations, that we would implement while doing a custom REST API.

 

import 'rxjs/add/operator/shareReplay';

  signUp(email: string, password: string) {
    return this.http.post<User>('/api/signup', {
      email,
      password
    }).shareReplay() // make sure that request was cached and it return observable
      .do((user) => this.subject.next(user));
  }

 

shareReplay was added to RxJS V5.4

 

More informaiton about shareReplay.

posted @ 2017-08-23 15:52  Zhentiw  阅读(388)  评论(0编辑  收藏  举报