升级后: 角度“5.2.0” - > “6.0.2”和 rxjs“:”^ 5.2.0“, - >”rxjs“:”^ 6.0“和”rxjs-compat“:”^ 6.2.0“,
我在浏览器上发现了这个错误:
TypeError: this._subscribe is not a function
at PromiseObservable.Observable.subscribe (Observable.js:161)
at eval (subscribeTo.js:21)
然后我安装了: npm i -g rxjs-tslint 并运行 rxjs-5-to-6-migrate -p path-to-tsconfig.ts 所有路径都已更新,但浏览器上的错误仍然相同。
答案 0 :(得分:1)
必须更新代码才能使用rxjs6。
这就是PromiseObservable失败的原因:
所有可观察的类(https://github.com/ReactiveX/rxjs/tree/5.5.8/src/observable)都已从v6中删除,有利于执行与类方法相同操作的现有或新操作符。
例如,ArrayObservable.create(myArray)可以替换为from(myArray),或者new运算符fromArray()。
在我们的案例中: 新的PromiseObservable(xml2js(responseXML.text())必须替换为from(xml2js(responseXML.text());
- > flatMap(...)替换为:
的 .pipe(
mergeMap(...)强>
我可以在代码中找到的另一个例子是:
()
的Observable.of()如需了解更多信息,请查看以下文档: https://github.com/ReactiveX/rxjs/blob/master/MIGRATION.md#import-paths