在使用rxjs的角度2中,我试图将promise转换为可观察的。正如许多在线指南所显示的,我在可观察的
上使用了from mPromise
。其中抛出错误:
Property 'fromPromise' does not exist on type 'typeof Observable'.
Observable的导入方式如下:
import { Observable } from "rxjs/Observable";
尝试导入from mPromise
像其他运算符一样会导致错误:
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回购协议中也报告了类似的问题,但也没有解决方案。
就像佐塔说的“来自”是答案。
你可以从这里找到参考资料
https://www.learnrxjs.io/operators/creation/from.html
但是,如果您想指定Promise to Watch able,您可以使用如下所示的fromPromise。
import { from as fromPromise, Observable} from 'rxjs';
...
private getObservable(): Observable<any> {
return fromPromise(this.promise);
}
private getPromise() {
this.promise = new Promise((resolve, reject) => {
this.service.getPromise()
.then(response => {
// do sth
resolve(response);
});
});
}
更新:
从rxjs
6.0起。0-β。3、操作员和可观察的创建者应从rxjs
导入。此外,fromPromise
不再是公共API的一部分,它被包装在from
方法中。
TL;博士
更新
对于rxjs 6.0。0使用:
import { from } from 'rxjs';
var observableFromPromise = from(promiseSrc);
更新:
在rxjs
5.5. x中发布了管道操作符之后,强烈反对使用猴子补丁方法。考虑使用静态方法选项。
原来的答案
从rxjs
5.4起。x、 fromPromise
可以用作静态方法,也可以修补到可观察的
原型中。
对于第一种情况,您可以执行以下操作:
import { fromPromise } from 'rxjs/observable/fromPromise';
var observableFromPromise = fromPromise(promiseSrc);
有关此方法的更多信息,请参见此处
要执行第二步,您需要更改导入语句:
import { Observable } from 'rxjs/Observable';
import 'rxjs/add/observable/fromPromise';
var observableFromPromise = Observable.fromPromise(promiseSrc);
有关此方法的更多信息,请参见此处
就我个人而言,我会推荐第一种,考虑到第二种方法基本上是第一种,不同的是可观察的
原型发生了变化。
我使用“angular2网页包”和“angular2/表格,可见”,但遇到错误,需要帮助。。 有一个自定义表单验证程序-- 我可以找到文件"/projection_direction/node_modules/rxjs/操作员/DebounceTime.js" 为什么会有这样的错误- 类型“Observable”上不存在属性“debouceTime”。
升级到Angular 6.0和Rxjs到6.0后,我收到以下编译错误:
嗨,我正在使用Angular 2 final和router 3.0。我想过滤从 我想做的是: 可以是instanceOf,或,但我只想要。但是我得到一个错误
我得到这个错误: 属性'toPromise'不存在于类型'观察'. any中
在Angular 2使用Http服务的文档页面上,有一个示例。 我克隆了angular2 webpack初学者项目,并自己添加了上述代码。 我导入使用 我假设属性也被导入(起作用)。查看了rxjs.beta-6的更改日志,没有提到任何关于的内容。
我正在尝试使用RxJS学习反应性编程。我试图创建一个可观察的数组使用Observable.from()方法,但我得到一个错误: 类型“typeof Observable”上不存在属性“from” 我使用Angular CLI构建了Angular应用程序,因此正确导入了包括RxJS包在内的所有依赖项。 应用程序内。组成部分ts I增加了以下进口声明: 我的AppComponent类如下所示: 但是我