问题标签 [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.
javascript - RxJS groupBy 和 combineAll 运算符似乎省略了输出
使用 .groupBy 和 .concatAll 的组合对输出进行分组时,不会生成一些预期的输出。
示例代码:
实际输出:
预期输出:
我是否误解了这些操作员的工作方式?或者这是一个 RxJS 错误?(暂时在https://github.com/Reactive-Extensions/RxJS/issues/1264上作为一个错误提交。)
java - RxJava Observable 最小执行时间
我有一个 Observable(从网络获取数据)。问题是 observable 可能快或慢,具体取决于网络条件。
我在 observable 执行时显示进度小部件,并在 observable 完成时隐藏它。当网络速度很快时 - 进步 flikers(出现和消失)。我想将 observable 的最小执行时间设置为 1 秒。我怎样才能做到这一点?
“延迟”运算符不是一个选项,因为即使对于慢速网络它也会延迟。
javascript - switch/mergeAll/flatten 不是函数-在cyclejs中使用http驱动程序时
我正在学习 CycleJS,我看到在使用 Cycle 的 HTTP 驱动程序时,我必须合并response stream stream
使用 RxJSswitch/mergeAll
才能到达流级别。但是当我尝试应用这些函数时,我收到了一个类型错误:(switch is not a function
在响应流上)。
如果我遗漏了什么,你能告诉我吗?
java - RxJava:多次调用网络,延迟增加,忽略错误
我想为网络调用创建一种指数退避。但是,我的网络调用应该重复几次(延迟增加),而不是通常的退避间隔,然后完成 - 无论网络调用的结果是什么。
例如,默认情况应如下所示:
当一些网络调用有错误时,这些错误应该被记录下来,而不是中止任务本身。假设第二个网络调用有错误,那么它应该如下所示:
当所有调用都有错误时:
我已经有一个 Observable 可以调用代码如下所示的网络:
如何重复使用 Observable fromloadStuff()
来实现我想要的退避间隔?
java - RxAndroid:观察一个 EditText,同时观察对 2 个视图的触摸
让我为一项需要我花费数天时间才能弄清楚的小任务动脑筋……
我有一个 EditText,用户将输入一个字符串,该字符串将用于进行 Wikipedia 搜索并将结果提供给 ListView。EditText 应该有 1 秒的限制,并且必须进行过滤才能检查“不适当”字符串列表。如果输入在该字符串列表中,则搜索将不会通过,除非用户同时触摸在屏幕的 2 个角上找到的 2 个隐藏视图,否则它将跳过此检查。
这里有一些片段可以帮助您了解我已经拥有的...
其中 isInappropriate(String s) 是检查是否在数组中找到术语的方法,而 fetchWikiSearch(String s) 执行搜索并填充 ListView。
我尝试了几种方法,最后能想到的方法如下:
但显然,只要我不触及这些视图,它就不会发出任何东西。甚至 Observable.combileLatest() 也不能很好地工作,因为它只有在两个视图都获得 MotionEvent.ACTION_DOWN 时才会发出......
如果您有任何提示或实际解决方案,请随时发表评论。谢谢。
android - 使用 rxJava 和 retryWhen 运算符限制操作
我的应用程序通常必须做两件事:
- 一次只接受一个网络请求
- 如果请求失败重试
这就是我实现它的方式:
看起来不错。
现在我的retryWhen
实现:
我是如何使用它的:
...
doOnUnsubscribe()
调用任何错误然后储物柜对任何新请求打开的主要问题,直到计时器到期并再次发生重新订阅。那就是问题所在。当计时器计时,用户可以提出另一个请求。
我该如何解决?
java - 在订阅期间识别订阅者
假设我有一些订阅者实现:
然后,我需要创建一个观察者,根据传递的订阅者执行一些额外的配置。首先是幼稚的方法:
如果我们直接订阅 Observable 就成功了:
但是如果我们对其应用一些操作,情况就会发生变化:
在后一种情况下,一些包装器被传递给 OnSubscribe。在这个包装器的深处有我最初的 ParticularSubscriber,但我没有能力得到它。
有没有办法在观察者的回调中访问最初传递的订阅者?
javascript - 获取可观察更改失败
我有report.service.ts
一个简单的方法来获取reports
(它只是一个来自模拟的报表对象的 const 数组),它真正做的是:
现在在我的app.component
我想得到那些报告。所以我做了:
就是这样,但它不起作用,显然我在这里做错了,我是可观察的新手:/
谢谢!
rxjs - 通过可观察对象过滤可观察对象
让我们考虑以下简化的情况:
- 我们有一个 Observable apples 类型的 Observable < Apple >
- 每个 Apple 对象都有一个 isRotten() 方法,它返回一个 Observable < Boolean > 类型的 observable,它保证发出至少一个布尔值。
我想过滤可观察到的苹果,使烂苹果不通过过滤器。更准确地说,当且仅当 A.isRotten() 发出的第一项为 false 时,苹果 A 通过过滤器。实现此过滤器的最佳方法是什么?
经过一番思考,我可以想出这个:
这是用javascript编写的。( ... => ... 是一个函数)。这行得通,但我认为它相当冗长且难以理解。有没有更好的方法来做这种事情?