问题标签 [reactivex]

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.

0 投票
1 回答
1312 浏览

ios - 如何使用 RxSwift 将一个类型的 Observable 数组转换为不同类型的 Observable 数组

我是 RxSwift 的新手,遇到了以下情况:

在我看来, toArray() 什么都不做,我不知道为什么。另一方面,这段代码做了我想要的。我想知道为什么前面的代码不能以同样的方式工作:

提前致谢。

编辑:

视图模型实现如下:

Country 有一个属性“城市”,它是一组城市。

@solidcell 你一定是对的,如果我在 toArray() 之前和之后放置 debug(),我会得到 2 个订阅,每个 debug() 一个,每个数组项的 1 个 next 事件仅用于之前的 toArray() debug()。

但是,为什么它没有完成呢?

0 投票
1 回答
1553 浏览

ios - ReactiveX如何暂停可观察

我在 iOS/Swift ( RxSwift )中使用ReactiveX 。

假设我有一个可观察的:

我订阅了:

如果我在制作动画时收到更新,我不想在动画完成之前收到下一次更新(我也不想丢失动画期间发生的更新)。

所以我只需要暂停那个dataUpdates可观察的发射。

我怎样才能做到这一点?

0 投票
3 回答
4354 浏览

javascript - 在 Rxjs 中,如何展平或合并包含普通类型和 Observables 的流?

类似于数组,flatten([1, 2 [3, 4], [5, 6]]) === [1, 2, 3, 4, 5, 6].

我想在 rxjs observables 中这样做:

mergeAll 不起作用并引发错误。

这是非常肮脏的解决方案:

有没有更好的解决方案?

jsbin http://jsbin.com/vohizoqiza/1/edit?js,console

0 投票
3 回答
427 浏览

angularjs - 我可以同步获得一个可观察的值吗?(角度/ReactiveX)

我的项目中有一个布尔值 observable isPossible,它是这样声明的:

我想添加条件 this is isPossibletrue但我想将它添加到同步评估其他条件的地方,我知道如何使用 observable 的值的唯一方法是使用异步管道......{{isPossible | async}}但是在这里我需要同步获取它...我该怎么做?

0 投票
0 回答
55 浏览

angularjs - 现在在请求的时间内获取我的 Observable 值

我声明了一个 Observable:

在 onInit 我做了:

现在我希望能够更新 html 文件中的一些输入,以便能够对其进行采样,我知道我需要订阅它,所以我 _currentState: Subscription;在 onInit 中声明并添加:

问题出现在上面的其他地方......它没有将值设置为false。

curState 是我在我的输入中质疑它的价值......但在某些行动中我没有得到我期望的价值......

我在做什么错?我是 Observables 的新手,所以我能从你们那里得到的尽可能多的输入会有所帮助:) 谢谢

0 投票
4 回答
2392 浏览

java - Rx:即使调用了 onError,如何获取最后一个元素?

我正在使用 RxJava,我需要做两件事:

  • 获取从发出的最后一个元素Observable
  • 确定是否onError被调用,vs。onCompleted

我已经研究过使用lastand lastOrDefault(这实际上是我需要的行为),但我无法解决onError隐藏最后一个元素的问题。我可以使用 Observable 两次,一次获取last值,一次获取完成状态,但到目前为止,我只能通过创建自己的来完成此操作Observer

我自己制作没有问题Observer,但感觉 Rx 应该能够更好地满足“获取完成前发出的最后一个元素”的用例。关于如何做到这一点的任何想法?

0 投票
1 回答
2806 浏览

android - OnErrorNotImplementedException 引起:rx.exceptions.MissingBackpressureException

调用 syncUsers() 方法时出现错误。

问题似乎来自第一次操作。

和电话:

0 投票
1 回答
1016 浏览

rx-java - SkipUntil 不能按预期工作

我正在寻找运营商 SkipUntil,但似乎没有像我预期的那样工作。这是我的代码

我试图证明,由于 observable2 没有任何订阅,所以不发射任何项目,使用运算符 skipUntil 的第一个 observable 应该跳过所有项目。但仍在发射所有 5 个项目。

知道为什么吗?

医生说。

0 投票
4 回答
9942 浏览

javascript - 完成后 n 秒重复请求(Angular2 - http.get)

我玩了 angular2 并在一段时间后卡住了。

使用http.get单个请求可以正常工作,但我想每 4 秒轮询一次实时数据,经过一段时间的修改并阅读了很多我最终得到的反应性东西:

在-observable 发出请求结果后,是否有一种简单的方法可以开始(4 秒)间隔?http.get(或者我最终会进入可观察的地狱吗?)

我想要的时间表:

0 投票
2 回答
520 浏览

reactivex - ReactiveX:不破坏可观察的错误处理

目前尚不清楚如何将错误传播给 REactiveX 中的订阅者,以免 Observable 被破坏。

例子

我接受这个限制,但是我仍然有这样的场景,我希望下游的听众知道发生了错误,并且我不希望 observable 死掉。

主要用例是 UI 代码,如果出现错误,我不想针对之前注册的所有 observable 调用“Setup”。

可能的替代方案是

a)推送具有数据字段和错误字段的自定义对象

我不喜欢这个解决方案

b) 有两个流。一个用于数据,一个用于错误。

对此的最佳常见做法是什么?