- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
在使用 rxjs 的 Angular 2 中,我试图将 Promise 转换为 Observable。正如许多在线指南所示,我在 Observable
上使用了 fromPromise
。哪个抛出错误:
Property 'fromPromise' does not exist on type 'typeof Observable'.
Observable 的导入方式如下:
import { Observable } from "rxjs/Observable";
尝试像其他运算符一样导入 fromPromise
会导致错误:
import 'rxjs/add/operator/fromPromise';
即使我抑制 typescript 错误,它仍然会导致错误:
(<any>Observable).fromPromise
错误:
Uncaught (in promise): TypeError: __WEBPACK_IMPORTED_MODULE_3_rxjs_Observable__.Observable.fromPromise is not a function
在 rxjs repo here 上报告了一些类似的问题但那里也没有解决方案。
最佳答案
更新:
截至rxjs
6.0.0-beta.3,运算符和可观察的创建者应该从rxjs
导入.此外,fromPromise
不再是公共(public) API 的一部分,它包含在 from
中方法。
TL;DR;
更新
对于 rxjs 6.0.0 使用:
import { from } from 'rxjs';
var observableFromPromise = from(promiseSrc);
更新:
发布后pipeable operators在 rxjs
5.5.x,强烈建议不要使用猴子补丁方法。考虑使用静态方法选项。
原始答案
截至rxjs
5.4.x,fromPromise
可以用作静态方法或可以修补到 Observable
原型(prototype)。
首先,您可以执行以下操作:
import { fromPromise } from 'rxjs/observable/fromPromise';
var observableFromPromise = fromPromise(promiseSrc);
有关此方法的更多信息 here
要执行第二个操作,您需要更改导入语句:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/fromPromise';
var observableFromPromise = Observable.fromPromise(promiseSrc);
有关此方法的更多信息 here
我个人会推荐第一种,考虑到第二种方法基本上是第一种,不同之处在于 Observable
原型(prototype)已更改。
关于angular - fromPromise 在 Observable 类型上不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45784825/
loadAdList$ 是一个接入 actions$ 流的 Observable: loadAdList$: Observable = this.actions$ .ofType(adActi
我正在尝试在 react 组件中使用 rx-lite 。我正在传递 Rx.Observable.fromPromise 一个 axios http 请求。 axios 返回一个 promise,因此它
在使用 rxjs 的 Angular 2 中,我试图将 Promise 转换为 Observable。正如许多在线指南所示,我在 Observable 上使用了 fromPromise。哪个抛出错误:
有人可以解释为什么这个 promise (runQuery) 在“catch”中失败并抛出 ErrorObservable,但没有在“catchError”方法中被捕获,而是进入“map”方法中。 (
我在这里使用 RxJS,我似乎无法克服这个看似简单的问题。 rx.Observable .from([1,2,3,54,3,22,323,23,11,2]) .distinct()
所以我有 2 个商店,一个 AuthorStore : class AuthorStore { constructor() { // has author.name and is al
我正在使用 node.js 构建一个简单的命令行工具。 过去,我使用 Promise 方法处理类似这样的事情 function listenCommand(){ inquirer.prompt
我正在开发 AngularFire2 应用程序并希望实现基本身份验证。身份验证本身到目前为止有效,但另外我想在注册时创建一个用户对象,以便每个用户在数据库中都有一个配置文件。这里的主要问题是 Angu
任何人都可以帮我解决这个问题吗?下面的代码片段在 NodeJS Typescript 环境中运行,在跨多个平台的多台机器上运行良好,但无法在 CircleCI 上构建,如下所示: 错误 TS233
长话短说:我不确定 fromPromise().catch() 方法应该捕获什么样的错误,以及 onError(error: Error) 观察者方法应该解决哪些错误。 我将 Node.js 与 rx
我有一个返回 Rx.Observable 的函数从 promise 创建,如下所示: var data$ = fetchData(); fetchData() { return Rx.Obse
我正在尝试按照https://www.learnrxjs.io/operators/creation/frompromise.html中的第一个示例在node.js脚本中使用fromPromise (
我是一名优秀的程序员,十分优秀!