我想知道在以下情况下是否必须取消订阅。我使用combineLatest
两个 angular observablesroute.params
和route.queryParams
. 为了将它们用作 http 请求中的参数,我调用switchMap
并返回 http 请求的 observable。然后我描述这个 observable。
现在我想知道我是否必须照顾订阅。通常我不会,因为 Angular 的 http 服务返回的 observable 在第一个值发出后完成。
在我目前的情况下,我不确定,因为原始的 observable 是通过调用创建的combineLatest
。
// Somewhere within my component.
const subscription = combineLatest(this.route.params, this.route.queryParams).pipe(
switchMap(([params, queryParams]: [Params, Params]) => this.http.get<number>(`query/path/${params.id}/${queryParams.type}`)
).subscribe(data => console.log(data));