问题标签 [rxjs-observables]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - BehaviorSubject vs Observable?
我正在研究 Angular RxJs 模式,但我不明白 aBehaviorSubject
和 an之间的区别Observable
。
据我了解,aBehaviorSubject
是一个可以随时间变化的值(可以订阅并且订阅者可以接收更新的结果)。这似乎与Observable
.
你什么时候使用 an Observable
vs a BehaviorSubject
?BehaviorSubject
使用 a over an是否有好处,Observable
反之亦然?
angular - Angular 清除订阅的更好方法
有很多方法可以在一个组件中有效地处理多个订阅,我这里有两种方法,想知道哪种方法更有效,为什么?
方法一:使用数组
第 1 步:创建数组
第 2 步:向数组添加订阅
步骤 3:迭代每个订阅和取消订阅
方法二
第 1 步:创建新订阅
第 2 步:添加订阅
Step3:清除订阅
angular - RxJs 操作符避免多次订阅,有循环
我正在为 Angular 应用程序编写导航组件。我有以下代码。我想避免多重订阅反模式。我正在为 RxJs 语法和走哪条路(forkJoin、mergeMap 等)而苦苦挣扎。
我如何重构这些,以删除订阅中的订阅。
这是我所拥有的,目前有效,但在订阅中有订阅:
rxjs - 检索 Observable 订阅者并让他们订阅另一个 Observable
简单的说
给定一个现有的 Observable(尚未完成),有没有办法检索关联的订阅者(传递给 subscribe 的函数)以使他们订阅另一个 Observable?
语境
我的应用程序中的一项服务有助于创建SeverEvent连接,将ConnectableObservable返回到代理连接并允许使用发布运算符进行多播。该服务通过内部存储跟踪现有连接:
在创建连接时,如果关联的跟踪器已经存在(使用连接的端点生成身份),服务应该:
- ok
关闭现有跟踪器的ServerEvent连接 - ok
打开一个新的SerevrEvent连接(因此是一个新的 ConnectableObservable) - 用新的 observable 替换现有跟踪器的 Observable,但现在让现有订阅者订阅新的 Observable
这是创建ConnectionTracker的代码部分
谢谢你。
angular - 等待两种以角度返回可观察对象的方法
我有两种方法可以进行 api 调用并返回 observables。
然后我有以下两种方法:
最后一个
我希望method4
等待method3
完成所有请求才能继续,但我不知道如何在角度 8 中实现它。有什么提示吗?
javascript - 如何在Angular httpClient errorCatch中消除没有“lodash”的普通函数调用
我有一个在 Angular HttpClient catchError 中调用的函数。我想在不使用 Lodash的情况下消除对函数的调用。此处不能使用debounceTime,因为该函数不是主题。是否有 ES5/ES6 等价物?
angular - 如何将顺序发出的数据转换为单个数组
所以,我使用ngrx store 来获取数据。一旦我从商店中选择了我想要的属性,然后我订阅了它以获得可观察的流。我的数据包含对象数组。所以在这个对象数组中,我必须对每个对象的一些属性做一些修改。
因此,为此我使用 rxjs 库的“from()”运算符将我的对象数组转换为顺序可观察对象,然后将其分配给新的可观察对象。使用这个新的 Observable 对象,我应用 map 函数进行修改,最后再次返回一个新的 Observable 对象。直到这一步一切正常。问题出现了,当我订阅这个新的修改后的可观察对象时,它按顺序发出值,而不是整个对象数组。但我想要修改后的对象数组。
angular - 如何取消订阅由 Angular 服务创建的 observable
我对 Angular 还很陌生,我的问题可能看起来很基础,但我们将不胜感激。我目前正在编写一个应用程序来教自己一些真正的开发技能。在我的应用程序中,我有一个 Angular 组件,它导入了我编写的提供数据的服务。
这是我的组件
这很简单,但如果我尝试添加this.apiService.getInstruments.unsubscribe()
到ngOnDestroy
块中,则会收到错误 P roperty 'unsubscribe' does not exist on type => Observable'。我什至考虑在类似链接.unsubscribe()
之后添加,.subscribe()
但这只会让我的页面挂起。我也没有错误。有人可以告诉我如何最好地退订吗?ngOnDestroy
我是否需要将 api 调用分配给变量,然后在块中的变量名称上使用 .unsubscribe()
angular - http调用之上的包装器可观察事件
我有一个返回对象的函数。不是同步返回对象,而是可以将它返回到一个可观察对象中,该对象可以稍后使用回调解决(类似于 http 调用)。
调用函数:
称为 Fn
你能告诉我这是否可能以及如何创建和返回一个 observable 就像 http 调用如何返回一个?