网站搜索
如何从多个导入中导入 map 或 merge 或任何其他函数?
import { map } from 'lodash'; import { map } from 'rxjs/operators'; import { map } from 'ramda';显而易见的答案是:
import { map as _map } from 'lodash'; import { map as rxMap } from ' 阅读更多 →
我想用 RxJs 实现带有时间过期的缓存。这里是一个“普通”缓存的例子:
//let this represents "heavy duty job" var data = Rx.Observable.return(Math.random() * 1000).delay(2000); //and we want to cache result var cachedData = new Rx.AsyncSubject(); data.subscribe(cachedData); 阅读更多 →
我想使用 Rx.Observable.if 来运行两个可观察对象中的一个,如果条件可观察对象解析为 true 或 false。
我想要实现的效果大概像这样:
Rx.Observable.if(conditionalObservable.map(x => x.length > 0), firstObservable, secondObservable).subscribe()如果 conditionalObservable 发送了一个 next 然后以 true 值完成,则应运行 firstObservable
阅读更多 →
我正在尝试运行我的 Ionic 项目。几天前它还运行正常,但现在无论我做什么都无法运行。这个错误不断出现!我尝试从 package.json 和 node_modules 中移除 Rxjs,也注释掉了所有使用 Rxjs 的地方,但错误依旧出现。在 Ubuntu 16.04 上使用 Node 8.9.0 和 npm 4.5.0 尝试过,也在 Windows 上运行过,但仍然显示同样的错误!我该如何解决这个问题?
尝试重新安装版本为 5.5.3 或更高版本的 rxjs
npm in 阅读更多 →
我在想这个直播时遇到了困难。
我正在寻找的是类似 debounceTime 的东西,但带有优先级。
所以如果我有形状为 { type: 'a', priority: 2 } 的事件。这些事件需要被防抖几秒钟,但不是最后一个事件被触发,而是触发具有最高优先级的事件。
input stream: ------(a|1)--(b|3)---(c|2)-----------------------(a|1)----------------- output stream: -----------------------------------(b|3)--------------------- 阅读更多 →
我遇到了一个问题,我一直在尝试使用RxJs寻找解决方案,但似乎找不到合适的...
这是我的想法:
考虑这个非常简化的版本。假设每个
阅读更多 →
假设我有两个可观察对象,我想在其中一个可观察对象发生变化时监听,但前提是另一个可观察对象满足某个条件。我尝试过使用 zip,但似乎只有在 两个 可观察对象都发生变化时才会收到通知,而我希望只要一个可观察对象变化,并且另一个的条件为真时就能收到通知。
我尝试过的事:
var firstState = new Rx.BehaviorSubject(undefined); var secondState = new Rx.BehaviorSubject(undefined); Rx.Observable.zip(firstState, secondState, function 阅读更多 →
在 RxJS 中,有可能在一段时间内对事件进行计数,并每秒输出一次总和吗?我有一个连续不断的事件流。我希望每隔 1 秒就能得到过去 5 分钟时间窗口内的事件总数。这个想法是用它来填充实时图表。
我知道如何用传统方法做这件事,但真的很想理解如何用响应式编程来做。
这是我会处理它的方法。
创建一个可观察对象,它只计算接收到的事件数量并将其作为运行总计发出(通过 scan
阅读更多 →
我正在学习 RxJs。我使用的是 Angular2 rc3。以下流可以工作,但它给我带来了过多的 mousemove 事件。我想使用时间(节流)或其他控制流来减慢它们。 我该如何做到这一点?
鼠标移动流无节流
const mouseMove$ = Observable.fromEvent<MouseEvent>(document, 'mousemove'); mouseMove$.subscribe( x => console.log( 阅读更多 →
是否可能(我找不到任何全面的资料)将多个可管道操作符组合到一个函数中,这样我就可以在管道中使用它,并在不同的方法中重复使用?
事情是这样的:
public ngOnInit(): void { this.route.url .pipe( switchMap( (ids: UrlSegment[]) => /* http call */), tap(result => /* setting a variable within a service */), tap( 阅读更多 →