在角度http客户端observable进行网络调用但是在调用实际函数之后,你如何编写一些代码?以下是角度http服务调用
this.geocodeApi.getAddressSuggestions(address).subscribe(resp => {..});
但是我们怎么做呢
this.geocodeApi.getAddressSuggestions(address).before({CODE HERE}).subscribe(resp => {..});
你想让我做什么?
如果你想在发送之前更改请求,你应该使用拦截器,就像GSSwain所说的那样。
当然,只有当geocodeApi
使用HttpClient
服务时才能使用拦截器。
我知道这是一个老帖子但是......
this.sub$ = defer(() => {
console.log('about to subscribe')
return this.api('/users/')
.pipe(
finalize(() => console.log('complete'))
);
});
defer()
将做的是在订阅之前不执行代码,返回是可观察但是外部代码将被执行,您可以使用finalize来清理。