在http observable启动网络呼叫

时间:2018-03-13 06:51:51

标签: angular angular2-observables angular-httpclient

如何在角度http客户端observable进行网络调用之前编写一些代码但是在调用实际函数之后?以下是角度http服务调用

this.geocodeApi.getAddressSuggestions(address).subscribe(resp => {..});

但我们如何做

之类的事情
this.geocodeApi.getAddressSuggestions(address).before({CODE HERE}).subscribe(resp => {..});

2 个答案:

答案 0 :(得分:1)

你想做什么?

如果你想在发送之前更改请求,你应该使用拦截器,就像GSSwain所说的那样 当然,只有在geocodeApi使用HttpClient服务时才能使用拦截器。

答案 1 :(得分:1)

我知道这是一篇旧文章,但是...

this.sub$ = defer(() => {

  console.log('about to subscribe')

  return this.api('/users/')
    .pipe(
      finalize(() => console.log('complete'))
    );
});

defer()要做的是直到订阅后才执行代码,返回值是可观察到的,但是外部代码将被执行,您可以使用finalize进行清理。