我有两台服务器,具有独立的流/可观察对象,如何使这两台服务器使用相同的链,以便我可以使用switchMap
,flatMap
等操作符控制它们?
if (serverNumber == 1) {
this.streamService.getStream('test 1')
.pipe(
map(image => console.log(image))
).subscribe();
}
else {
this.streamService.getFastStream()
.pipe(
map(image => console.log(image))
).subscribe();
}
例如,如果我从服务器获取,而getStream需要一段时间,并且在getFastStream完成后仍在进行中,我希望通过切换映射阻止第一个getStream的覆盖。我怎么能这么做?我是rxjs的新手,所以我尝试的可能不是它应该如何使用。
可观察的
images$: Observable<string> = new Observable<string>();
然后,我必须将流推到图像$观察与运算符之一?
this.images$.pipe(
switchMap(this.streamService.getStream(1))
)
模板:
<div class="section">
Click to send a request ...
</div>
<div class="section">
<button (click)="click(1)">Server 1</button>
</div>
<div class="section">
<button (click)="click(5)">Server 2 (Longer)</button>
</div>
RXJSrace
observeable creator可能会有所帮助。
var server1$ = this.streamService.getStream('test 1');
var fastServer$ = this.streamService.getFastStream();
var fastest$ = race(server1$, fastServer$)
.pipe(map(image=> console.log(image)));
fastest$.subscribe();
首先在fast observable上使用takeUntil
操作符。其次,使用merge
获取快速可观察结果,直到缓慢可观察结果开始出现。
import { merge } from 'rxjs';
import { takeUntil } from 'rxjs/operators';
const slow$ = this.streamService.getStream('test 1').pipe(
map(image => console.log(image))
);
const fast$ = this.streamService.getFastStream().pipe(
map(image => console.log(image)),
takeUntil(slow$)
);
merge(
fast$,
slow$
).subscribe()
这里是一个StackBlitz演示演示。
我有一个简单的api请求,它向一个对象返回一个可观察的对象,该对象中有一组项,每个项中都有一个链接。因此,我想在当前异步流中直接获取链接后面的数据,但我收到一个CORS错误,错误是: 这是否可能与我当前的函数?还是我误解了一些基本概念?
假设我有一个类的,每个类都有一个。 中的键是时间戳,值是分数。 我试图创建一个,它可以组合所有对象的地图,并输出带有唯一时间戳(Thes)和平均分数的。 我有这个代码,但它给我所有分数的总和,而不是平均值(类没有平均值方法)。 我想这可能不是一个简单的问题,所以在一个单一的中解决,所以一个带有唯一时间戳的和所有分数的的输出也可以。然后我可以自己计算平均值。 它它可能吗?
由于我不想多次使用流来单独收集每个属性,也不想使用来收集每个属性,是否有任何方法可以用单个流来获得上述属性。
当使用 Declarative 样式是在许多类之间共享一些功能,例如一组公共列、一些公共表选项或其他映射属性。标准的Python习惯用法是让类继承自一个包含这些常见特性的超类。 当使用声明性映射时,通过使用mixin类,以及通过增加 registry.generate_base() 方法或 declarative_base() 功能。 下面是一些常见的混合成语的例子: from sqlalchem
我需要将另一个改装请求中的图像合并到其特定系列中。听起来很简单的任务把我带进了反应式的地狱,没有一丝希望。 具体来说,我还通过可观察创建服务,因为我需要获取身份验证令牌来创建服务。 我的尝试基于以下答案:https://stackoverflow.com/a/28418503/2192545. 我有点不知所措。我只是在Observable的Func2部分得到了“无法推断函数接口类型”。在IDE中,
问题内容: 我有这样的课: 我想为每个MultiDataPoint生成 当然,在多个MultiDataPoints中,“键”可以相同。 因此,给定a ,如何使用Java 8流转换为? 这是我目前在没有流的情况下进行转换的方式: 问题答案: 这是一个有趣的问题,因为它表明有很多不同的方法可以达到相同的结果。下面我展示了三种不同的实现。 集合框架中的默认方法: Java 8向集合类中添加了一些与 St