问题标签 [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.
angular - 每当可观察对象更改其值时,观察者似乎都不会被执行
观察者似乎很好地初始化了订阅。但是,当图层的值发生变化时,观察者不会执行它应该执行的功能。我错过了什么吗?
您可以在 github 上查看我的存储库: https ://github.com/stefiHB/ol-angular-ionic
层-msg.service.ts
我的按钮.ts
app.component.ts
我尝试使用btn.onclick = (event) => {...}
,但似乎无法解决问题。
我希望控制台记录:
但是观察者的功能没有被执行所以这是我点击按钮时的实际日志:
angular - rxjs/angular - 如何合并来自服务的规范化数据?
我是 Angular 和 RXJS 的新手——我正在尝试从 rest api 返回标准化数据并在客户端上组装层次结构。我创建了这个堆栈闪电战,这是我想要完成的一个非常基本的版本: https ://stackblitz.com/edit/angular-ffdbza
这些接口(ParentData、AssnData 和 ChildData)表示从 API 返回的 JSON 数据。Parent 和 Child 接口是我希望在客户端上表示数据的方式(在实际应用程序中,我会将这个新对象绑定到分层网格)。关键是Assn数据有一个属性(statusCode)需要基于Parent应用到每个Child。
这是我到目前为止的代码(从堆栈闪电战中的 data.component.ts 中获取)。它将 Assn 对象添加到正确的父对象,但我无法将 Child 对象与每个 Assn 对象合并。我正在做一个 console.log 来查看结果。
rxjs - RxJS 扫描以使用过滤器和偏移量作为 url 参数来累积数据库结果
我有两个行为主题
offset = new behaviorSubject<sring>(null)
filter = new behaviorSubject<string>(null)
我做以下..
当页面加载时,我从 DB 中获得 10 条记录,onScroll 我又获得了 10 条和 10 条……这就是mergeMap和scan负责的(如预期的那样)。
onFilter 所有现有记录都消失了(如预期的那样),我从数据库中获得了新的 10 条过滤记录,现在当我滚动时,我没有得到更多记录,我在数据库中有它们。
据我所知,问题出在......在扫描操作员中
是否有 if else 运算符?或者我可以在扫描之前使用的其他一些运算符?
javascript - 如何在完成 Rxjs Observable 之前等待 subscribe 中定义的异步方法?
让我们看看下面的代码:
问题是console.log
在最后一个next
触发后调用它,但我希望在最后一个something()
完成后调用它。
有什么办法吗?
我指定我myObservable
自己使用new Obsercable(observer => ...)
. 所以可以修改。
react-native - TypeError: _rxjs.Observable.fromPromise 不是函数
我用rxjs
在React Native
. 我打电话Observable.fromPromise(storage.load({key: key})).map(() => value);
显示错误。
我的 rxjs 版本:
我有三个步骤。
第1步:
Step2 rxInit():
关于get()的Step3:
我正在寻找一些答案,有人说是因为rxjs高于6.0,所以我尝试使用
它仍然显示
或者
任何帮助,将不胜感激。
react-native - 如何在 rxjs6 中使用 combineLatest 和 flatMap?
rxjs 5.5.12
我在 React Native 中使用代码,它可以工作。
在 rxjs 5.5.12 中:
在 rxjs 6.5.3 中:
首先导入一些操作员:
我更改代码:
它会显示错误TypeError: (0 , _rxjs.combineLatest)(...).flatMap is not a function
。
所以我注意到可能是我必须使用pipe
,我尝试更改代码。
我不知道为什么我无法在我的 console.log 中得到结果。
任何帮助,将不胜感激。
react-native - 如何在 rxjs 6 中订阅多个 observable?do 不是 rxjs 6 中的函数
在rxjs 5.5.12
中,我创建了一个具有多个 observable的login()
tosubscribe
do()
我使用 rxLoginPOST 调用 api:
我在登录函数中使用它,它返回多个 observable:
在rxjs 6.5.3
,我改变了所有的导入,比如
如果我触发login()
它会显示do is not a function
所以我改变了代码:
我尝试使用tap
而不是do
,但检查 4 没有出现。
任何帮助,将不胜感激。
javascript - 将可观察对象串联和并行组合以从多个 API 获取数据
我正在尝试检查我在 Typescript 中编写的与 RxJS observables 一致的函数的有效性,该函数从一项服务中获取一些预订,然后为每个预订从另一项服务中获取其相应的位置和活动。
我写这篇文章只是为了验证我所写内容的有效性,并询问是否有什么我可以做的更有效。
我期待这个函数返回一个预订列表以及相应的位置和活动。但更重要的是,我想验证我所做的是否正确和明智。有什么我可以做的不同的事情来使它更清晰/更易于阅读(请不要吹毛求疵)?
另一方面,关于性能,我还有一个关于性能的后续问题。鉴于预订列表具有共同的活动和位置。有没有办法只获取活动和位置而没有任何重复的 HTTP 请求?这是否已经由 RxJS 在后台处理了?我可以做些什么来提高这个功能的效率吗?
rxjs - How can I make an observable emit only latest value and not past values
I have a ConnectableObservable
which is part of a BehaviourSubject
.
I use next
method to emit
values when response from the server is received.
It seems that the Subject
is emitting past values as well.
Why is the Observable sending multiple values. How can i make it send only the latest value?
rxjs - RXJS flatMap 到重复的 observable
我正在尝试实现服务,如果应用程序连接到我的服务器,它会提供可观察的,所以当浏览器在线时,我们会使用计时器 ping 服务器。这是代码:
hasInternetConnection
只是一个绑定到窗口的 BehaviorSubjectonline
和offline
事件的 BehaviorSubject,计时器模拟对我的 API 服务器的 ping。
问题是我的订阅$connected
仅从可观察的计时器中捕获第一个值,然后不起作用。在hasInternetConnection
主题更改为false
并返回 后true
,我的订阅再次获得第一个值,然后什么也没有。这是我在控制台中看到的:
我该如何解决?谢谢!