在http observable启动网络调用之前执行代码

问题描述 投票:2回答:2

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

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

但是我们怎么做呢

this.geocodeApi.getAddressSuggestions(address).before({CODE HERE}).subscribe(resp => {..});
angular angular2-observables angular-httpclient
2个回答
1
投票

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


1
投票

我知道这是一个老帖子但是......

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

  console.log('about to subscribe')

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

defer()将做的是在订阅之前不执行代码,返回是可观察但是外部代码将被执行,您可以使用finalize来清理。

© www.soinside.com 2019 - 2024. All rights reserved.