类型错误:observable.of 不是函数 - [电子邮件受保护] - [电子邮件受保护] - angular5

2023-12-02

升级到后[电子邮件受保护]并将所有 RxJS 导入、方法和运算符转换为新的 >5.5 形式,我在运行时收到类型错误:Observable.of不是一个函数。定义为扩展的成员的所有方法都会发生相同的错误Observable, 例如,Observable.fromEvent.

另一方面,被定义为独立函数的方法,例如Observable.combineLatest尽管编译器警告它们在类型上不存在,但仍能正常运行Observable.

只是为了澄清一下,我对任何运算符都没有任何问题(在将它们转换为管道形式之后)。只能用方法。

我找到的解决方案是替换:

import { of } from 'rxjs/observable/of';
import { fromEvent } from 'rxjs/observable/fromEvent';
...
const x = Observable.of(true, false);
const y = Observable.fromEvent(target, 'click');

with

import { ArrayObservable } from 'rxjs/observable/ArrayObservable';
import { FromEventObservable } from 'rxjs/observable/FromEventObservable';
...
const x = ArrayObservable.of(true, false);
const y = FromEventObservable.create(target, 'click');

但我认为这应该是更好的方法。我对吗?


Notes:

  1. 我被迫使用“提前编译”功能来构建和服务应用程序,因为否则角度注入器将会失败(但这是另一个问题)。
  2. 我知道存在这个其他类似的问题。但根据答案,该版本适用于小于
  3. ng --version gives:

    角度 CLI:1.6.3, 节点:8.9.1, 操作系统:win32 x64, 角度:5.1.3,

    @角度/cli:1.6.3, @angular-devkit/构建优化器:0.0.36, @Angular-devkit/核心:0.0.22, @angular-devkit/schematics:0.0.42, @ngtools/json-schema:1.1.0, @ngtools/webpack:1.9.3, @schematics/角度:0.1.11, @schematics/schematics:0.0.11, 打字稿:2.5.3, 网络包:3.10.0,


当使用lettable(现在称为pipeable)运算符和工厂函数时,这些只是函数,而不是Observables的方法。所以应该只是

import { of } from 'rxjs/observable/of';
import { fromEvent } from 'rxjs/observable/fromEvent';

const x = of(true, false);
const y = fromEvent(target, 'click');

看看如何文档使用range工厂功能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

类型错误:observable.of 不是函数 - [电子邮件受保护] - [电子邮件受保护] - angular5 的相关文章

随机推荐

  • Spring Boot StackOverFlowError:空

    当我想通过 foreach 循环保存存储库时遇到问题 通过 Foreach 循环用户来并将其保存到另一个实体 用户类 公开课出勤率 Id GeneratedValue strategy GenerationType AUTO private
  • 如何为svg提供响应式设计?

    我是拉斐尔的新手 我在div里面写了svg标签 请参阅此示例http jsfiddle net dhana36 bvs6P 1 使用 CTRL 和 CTRL 你会发现区别 HTML div class outer div
  • 递归思维的算法是什么? (就具体例子而言)

    我就是无法理解递归 我理解所有概念 将解决方案分解为更小的案例 并且在一遍又一遍地阅读它们后我可以理解解决方案 但我始终无法弄清楚如何使用递归来解决问题 有没有系统的方法来提出递归解决方案 有人可以向我解释一下他们尝试解决以下递归问题时的思
  • Android - 动态添加视图到视图中

    我有一个视图布局
  • INNO设置:如何获取主显示器的分辨率?

    我正在尝试使用 INNO 编写安装程序脚本 但我陷入了困境 我需要获取运行安装程序的计算机的屏幕分辨率 并使用该值在桌面上创建一个以该分辨率为一的快捷方式的论点 我知道如何创建快捷方式 但是我不知道如何提取屏幕分辨率以及如何传递该信息 可能
  • 在 CUDA 中,什么是内存合并,它是如何实现的?

    CUDA 全局内存事务中的 合并 是什么 即使读完我的 CUDA 指南后我还是无法理解 怎么做 在CUDA编程指南矩阵示例中 逐行访问矩阵称为 合并 或者逐列访问矩阵称为合并 哪一个是正确的 为什么 此信息可能仅适用于计算能力 1 x 或
  • 启用 COM 接口封送处理需要什么?

    我有一个没有类型库的 32 位 ATL COM 组件 它为一个给定的类提供了一个类工厂 该类实现了多个接口 当我将它用作进程内服务器时 一切正常 客户端调用 CoCreateInstance 实例化对象 并且 QueryInterface
  • 使用实体框架导航属性而不创建大量查询(避免 N+1)

    我一直在使用 Entity Framework Profiler 来测试 MVC 项目中的数据访问 并且遇到了几个页面 其中由于 N 1 问题 我进行的数据库查询远多于我需要的数量 这是一个简单的例子来说明我的问题 var club thi
  • 将字符串拆分为 | Java 中的(管道)[重复]

    这个问题在这里已经有答案了 我有以下文字 ARIYALUR ARIYALUR CHENNAI CHENNAI COIMBATORE COIMBATORE CUDDALORE CUDDALORE DINDIGUL DINDIGUL ERODE
  • 在 Yii 框架中设置会话

    我正在用 Yii 开发一个网站 我的页面中有一个按钮 我需要在用户单击它时设置一个会话变量 并在用户单击另一个按钮时获取会话值 我怎样才能做到这一点 Use CWebUser状态方法 set session variable Yii app
  • 对 stackexchange api 的 Http 请求返回不可读的 json

    我正在尝试从 stackexchange api 获取一些 json 数据 接收 OAuth 代码和访问令牌工作正常 但是当调用实际的数据获取端点时 响应看起来确实很奇怪 可能是编码或类似的 该请求如下所示 var client reque
  • 如果网络中断,socket 会发生什么情况

    假设一个简单的网络模型 A 已成功创建到 B 的 TCP 连接 并且它们正在这样相互通信 A lt gt B 我知道如果A上的程序死掉 例如核心转储 这将导致向B发送RST数据包 因此B的任何读取尝试都会导致EOF 而B的任何写入尝试都会导
  • 从城市名称获取纬度和经度

    在我当前的 Android 应用程序中 我想根据输入的城市名称 街道名称或邮政编码获取坐标 我怎样才能做到这一点 此致 通过网络获取地理坐标 private static JSONObject getLocationInfo String
  • 如何根据另一个向量中的条件从向量中删除元素?

    我有两个等长的向量 我想根据其中一个向量中的条件从中删除元素 应对两者应用相同的删除操作 以便索引匹配 我想出了一个解决方案std erase 但速度非常慢 vector
  • 带问号的 nvarchar 列结果

    我正在尝试更新队列项目并检索其列文本内容 问题是诸如希伯来字符之类的特殊符号会导致问号 通过直接制作 我可以完美地看到文本SELECT条款 在sql management studio Message s column hey 当我尝试检索
  • 导入模块中全局变量的可见性

    我在 Python 脚本中导入模块时遇到了一些困难 我将尽力描述该错误 为什么会遇到它 以及为什么我要使用这种特定的方法来解决我的问题 我将在稍后描述 假设我有一个模块 在其中定义了一些实用函数 类 它们引用在将导入该辅助模块的命名空间中定
  • @font-face src: local - 如果用户已经拥有本地字体,如何使用它?

    正确的使用方法是什么 font face这样如果用户已经拥有该字体 浏览器就不会下载该字体 我正在使用 font face 来定义 DejaVu 它已经安装在我的系统 linux 上 Firefox 不下载字体 但 Chromium 每次都
  • 使用 NodeJS 中的服务主体连接到 Azure SQL,但令牌被拒绝

    我在使用服务主体让 NodeJS 应用程序连接到 Azure SQL 数据库时遇到问题 但是 当我尝试使用 C 代码片段执行相同的操作时 效果很好 我注意到两种语言的身份验证返回的令牌有点不同 如果我从 C 获取正确的令牌并将其硬编码到 N
  • 如何获取 Alexa 技能的用户日期/时间或时区信息?

    我正在使用 Lambda Python 来开发一项技能 并且我有兴趣为用户提供一些与时间相关的信息 上request对象有一个timestamp但那是没有偏移的 UTC 有没有一种方法可以找到用户的日期 时间或时区 而不必询问位置信息 如果
  • 类型错误:observable.of 不是函数 - [电子邮件受保护] - [电子邮件受保护] - angular5

    升级到后 电子邮件受保护 并将所有 RxJS 导入 方法和运算符转换为新的 gt 5 5 形式 我在运行时收到类型错误 Observable of不是一个函数 定义为扩展的成员的所有方法都会发生相同的错误Observable 例如 Obse