1018得票14回答
BehaviorSubject和Observable有什么区别?

我正在研究RxJS的设计模式,但我不明白BehaviorSubject和Observable之间的区别。 据我理解,BehaviorSubject可以包含可能会改变的值。它可以被订阅,并且订阅者可以接收更新后的值。两者似乎有完全相同的目的。 什么时候应该使用Observable而不是Be...

38得票8回答
如何在链接的可观察对象之间传递结果

摘要问题:每当源Observable发出事件时,一系列API调用和Angular服务需要被触发。其中一些调用依赖于先前的结果。 在我的例子中,源Observable startUpload$ 触发了一系列依赖调用。 使用解构,可以这样写:this.startUploadEvent$.pipe(...

17得票3回答
如何在subscribe方法内取消RXJS订阅?

我有一些JavaScript:this.mySubscription = someObservable.subscribe((obs: any) => { this.mySubscription.unsubscribe(); this.mySubscription = und...

16得票2回答
如何在 Jest 中对订阅可观测对象的方法进行单元测试?

我在组件中有各种方法订阅注入依赖项中返回 observables 的方法。 我想编写 Jest 单元测试,以确保当这些 observables 返回 / 出错时,我的方法可以正确执行。 在下面的示例中,我试图编写一个测试,检查 doAThing 是否已触发。以下两个测试都不起作用。它们都会...

8得票6回答
在 Angular 模板中,Observable 中的 ObjectUnsubscribedErrorImpl 错误。

我正在使用Angular 11,并且在我的组件模板中使用async管道访问可观察对象。 第一次加载该路由时,一切都正常工作,没有错误。但是当我离开页面并返回时,会出现以下错误: 组件模板: <RM-map *ngIf="(layers$ | async) as layers" [la...

7得票6回答
Angular更好的清除订阅的方法

有多种方法可以有效地处理组件中的多个订阅,我这里有两种方法,想知道哪一种更有效以及为什么? 方法 1:使用数组 步骤 1:创建数组 private subscriptionArray: Subscription[]; 步骤2:将订阅添加到数组中 this.subscriptionA...