加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

angular – 为什么`combineLatest`返回OperatorFunction <{},

发布时间:2020-12-17 06:49:58 所属栏目:安全 来源:网络整理
导读:我正在使用rxjs 6我的代码中有两个observable import { combineLatest } from 'rxjs/operators';loading$: Observableboolean;loaded$: Observableboolean; 可观察量不是来自http请求,而是来自商店 我需要根据这个逻辑将序列组合/转换为一个可观察的值: 如
我正在使用rxjs 6我的代码中有两个observable

import { combineLatest } from 'rxjs/operators';

loading$: Observable<boolean>;
loaded$: Observable<boolean>;

可观察量不是来自http请求,而是来自商店

我需要根据这个逻辑将序列组合/转换为一个可观察的值:
如果序列为true,true或false,则为false – 需要返回new observable true否则需要返回false

我尝试使用combineLatest来实现:

combineLatest(
    this.loaded$,this.loading$,(val1,val2) => Number(val1) + Number(val2) === 1
)

但问题是我的combineLatest返回’OperatorFunction<>而不是可观察的<>所以我无法订阅.
你有任何想法如何解决这个问题?或者,如果有另一种方法可以采取?

更新:
似乎这是我的问题从’rxjs’导入{combineLatest}的问题的答案;
目前正在测试

解决方法

使用RxJS 5.5时,最有可能的原因是你使用rxjs /运算符的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';

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读