- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在使用 RxJS 6
我的代码中有两个 observable
import { combineLatest } from 'rxjs/operators';
loading$: Observable<boolean>;
loaded$: Observable<boolean>;
观察值不是来自 http
请求但来自 store
我需要根据这个逻辑将序列组合/转换成一个单一的可观察值:
如果序列true
, true
或 false
, false
- 需要返回新的 observable true
否则需要返回false
我尝试使用 combineLatest
实现这一目标:
combineLatest(
this.loaded$, this.loading$,
(val1, val2) => Number(val1) + Number(val2) === 1
)
但问题是我的 combineLatest
返回 'OperatorFunction<>
而不是 Observable<>
所以我不能订阅。你对如何解决这个问题有什么想法吗?或者是否有其他方法可以采用?
更新:
好像那是我问题的答案import { combineLatest } from 'RxJS';
目前正在测试
最佳答案
对于 RxJS 5.5,这很可能是因为您正在使用 rxjs/operators
中的 combineLatest
而您想将其用作 Observable 的“创建方法”,这意味着您需要使用 rxjs/observable/combineLatest
。
我的意思是你需要使用这个:
import { combineLatest } from 'rxjs/observable/combineLatest';
... 而不是这个:
import { combineLatest } from 'rxjs/operators';
编辑:由于您提到您使用的是 RxJS 6,因此您可以从 rxjs
导入静态变体。
import { combineLatest } from 'rxjs';
如果您正在寻找 combineLatest
运算符,您必须像这样导入它:
import { combineLatest } from 'rxjs/operators';
关于angular - 为什么 `combineLatest` 返回 OperatorFunction<{}, number>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50344761/
使用运行 rxjs 迁移工具后 rxjs-5-to-6-migrate -p src/tsconfig.app.json 我现在收到一个 linting 错误: combineLatest is de
我遇到了 rxjs 和 combineLatest 方法的问题。我试图在 combineLatest 中调用 combineLatest 并且它不起作用,尽管它返回 Observable 对象。请帮助
如何通过combineLatest组合Observables。 mergeLatest 未定义 我正在使用 Angular js 7。我想 Marge 拖曳查询字符串参数,但是当我编写 obserab
我有 3 个事件需要合并,当其中一个被触发时,调用服务。我使用了 combineLatest,但只有当第一个事件被 filterChanged 触发时它才有效。 filterChanged 是一个本地
我很难理解为什么 combineLatest没有返回最新值。这个例子有点做作,但至少它说明了我的问题。注意 color 的值来自 combineLatest observable 返回先前的值,当 s
我有一个带有频繁值的流和一个带有较慢值的流。我想将它们组合起来,但只在较慢的一个发出时才发出一个值。所以combineLatest不起作用。 像这样: a1 a2 b1 (a2,b1) a3 a4 a
我有一些观察结果。我需要知道哪个触发了订阅。 Observable.combineLatest( this.tournamentsService.getUpcoming(),
我对以下重载感兴趣: public static IObservable> CombineLatest(this params IObservable[] sources); public stati
我想知道我的应用程序何时离线并恢复在线。我在 rxjs 中注册了以下事件: const online = Rx.Observable.fromEvent(window, 'online'); cons
如果我有两个 SignalProducers(实际上它们是 API 服务请求,所以它们只发送一次“下一个”),并将它们与 combineLatest 组合(因为我想在两者完成后关闭加载微调器),如果其
我有一个从后端获取数据的 Angular 解析器。我有以下调用要执行: GetProject(projectId): Observable GetSites(projectId): Observabl
我正在用 FLUTTER/DART 和 RXDART 做一个小项目。 部分代码如下: class RegisterBloc with UserValidator { final _username =
我正在尝试关注 this example 但在使用 combineLatest() 时遇到问题: Property 'subscribe' does not exist on type 'Operat
我需要将来自两个来源的数据合并为一个 res: {data1: any, data2: any}对象,我需要实现这个 即使其中一个源不发出任何值 这是我期望的结构: xxx ( source1
我有一个主页页面,用户在其中点击联系我即可重定向到联系页面: home.component.html Contact me home.component.ts: import { Compon
我想执行一些顺序代码,但我无法从 combineLatest 中提取数据 const { datosPersona, participante } = await combineLatest( t
我有两个 observable 想与 combineLatest 结合起来: const o1 = from(['a', 'b', 'c']); const o2 = of('content from
我需要在这个 combineLatest 中处理每个函数的错误场景。我会在下面添加代码 const combined = combineLatest( this.myservice1.fn1(pa
我有 3 个可观察的事件流 - 按日期顺序 -(主要事件、有关销售的事件和有关客户的事件) - 每个流都包含一种与各种车辆相关的事件,每个事件都有一个 vehicleID 和各种其他事件特性。事件可以
我需要一种方法将值从一个 observable 传递给两个函数,每个函数都接受一个值,每个函数依次返回一个 observable(只发出一个值,然后完成)。我希望 .combineLatest() 允
我是一名优秀的程序员,十分优秀!