如何在可观察对象中使用 if 语句进行第二个请求
how to do second request with if statement within a observable
目标
我想执行一个 http 请求,还想执行另一个基于 if 语句的 http 请求。观察者需要在以下时间进行发射:
- firstvar 和 secondvar 相等,只执行 1 个 http 请求
- firstvar 和 secondvar 不相等,执行了 2 个 http 请求
这是我的一些伪代码
class ApiCallClass {
methodThatReturnsObservable: Observable<{}> {
observable = this.http.get(firstUrl);
if (firstvar !== secondvar) {
observable.concat(this.http.get(secondUrl);
}
return observable;
}
}
问题
我们注意到第二个请求正在中止。这是因为使用了 concat 并返回了 observable 吗?
我是否正确使用了 concat 方法?
concat()
returns 一个新的 Observable。它不会改变原来的。
所以你需要
observable = observable.concat(this.http.get(secondUrl);
目标
我想执行一个 http 请求,还想执行另一个基于 if 语句的 http 请求。观察者需要在以下时间进行发射:
- firstvar 和 secondvar 相等,只执行 1 个 http 请求
- firstvar 和 secondvar 不相等,执行了 2 个 http 请求
这是我的一些伪代码
class ApiCallClass {
methodThatReturnsObservable: Observable<{}> {
observable = this.http.get(firstUrl);
if (firstvar !== secondvar) {
observable.concat(this.http.get(secondUrl);
}
return observable;
}
}
问题
我们注意到第二个请求正在中止。这是因为使用了 concat 并返回了 observable 吗?
我是否正确使用了 concat 方法?
concat()
returns 一个新的 Observable。它不会改变原来的。
所以你需要
observable = observable.concat(this.http.get(secondUrl);