Rxjs 取消订阅switchmap中的第一个可见项

Rxjs 取消订阅switchmap中的第一个可见项,rxjs,rxjs5,Rxjs,Rxjs5,我有两个观测值,第二个需要第一个的结果,所以我使用: 因此,作为回报,我有一个Object的Observable(来自http.post),但我对foo Observale的订阅仍然处于活动状态,我无法取消订阅,我该怎么办?如果您使用fooSharer.getFoo()发出的值作为启动第二个Observable的信号,您可以放置获取(1)就在开关映射之前。 这样,在第一个发出的值之后,fooSharer.getFoo()将完成。如果您使用fooSharer.getFoo()发出的值作为启动第二个

我有两个观测值,第二个需要第一个的结果,所以我使用:


因此,作为回报,我有一个Object的Observable(来自http.post),但我对foo Observale的订阅仍然处于活动状态,我无法取消订阅,我该怎么办?

如果您使用
fooSharer.getFoo()
发出的值作为启动第二个Observable的信号,您可以放置
获取(1)
就在
开关映射之前。

这样,在第一个发出的值之后,
fooSharer.getFoo()
将完成。

如果您使用
fooSharer.getFoo()
发出的值作为启动第二个可观察对象的信号,您可以将
take(1)
放在
开关映射之前。
这样,在第一个发出的值之后,
fooSharer.getFoo()
将完成

this.fooSharer.getFoo().pipe(switchMap((foo: Foo) => {
    return this.http.post('/someUrl',
    body,
    headers
  )
}));