是否可以获取所有“活动”订阅而不手动存储它们?
我想unsubscribe
所有“活动”订阅,并且不想在数组或变量中引用它们中的每一个。
我取决于你使用的是Subject还是Observable,但可能没有办法“自动”做到这一点。
观测值
我不认为你可以拥有“订阅的 Observable”这样的东西,因为你要么存储 Observable 要么订阅:
const source = Observable.of(...)
.map(...);
const subscription = source
.subscribe();
Here source
代表一个可观察的并且subscription
代表单个订阅。
请注意,您可以有一个Subscription
存储多个其他订阅的实例:
const subscriptions = new Subscription();
const sub1 = Observable...subscribe();
const sub2 = Observable...subscribe();
const sub3 = Observable...subscribe();
subscriptions.add(sub1).add(sub2).add(sub3);
// Then unsubscribe all of them with a single
subscriptions.unsubscribe();
Subjects
如果您使用主题,他们确实有unsubscribe
方法本身,参见https://github.com/ReactiveX/rxjs/blob/master/src/Subject.ts#L96 https://github.com/ReactiveX/rxjs/blob/master/src/Subject.ts#L96.
但请注意,这会使主题“停止”,有关更多信息,请参阅https://medium.com/@martin.sikora/rxjs-subjects-and-their-internal-state-7cfdee905156 https://medium.com/@martin.sikora/rxjs-subjects-and-their-internal-state-7cfdee905156
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)