问题描述
我尝试让我的 HTTP 客户端请求由变量控制。 但我不确定如何设置过滤器。
任何帮助将不胜感激。
go : boolean = true; // skip the request if false
ngOnInit ()
{
interval (10000).pipe (
startWith (0),mergeMap (obs => this.myservice.request ().pipe (catchError (error =>
{
console.log ("error: " + error);
return empty ();
})))).subscribe (resp =>
{
console.log ("response: " + resp);
});
}
解决方法
您的 margeMap
可以根据 go
变量返回不同的 Observable:
mergeMap (obs => go ? this.myservice.request().pipe(...) : EMPTY)
其中 EMPTY
可以从 'rxjs'
包导入。
你也可以使用 ||操作员
mergeMap (obs => this.myservice.request().pipe(...) || null)