RxJ6需要对RxJ6进行更新,而RxJs更新之后,Observable.publish()函数就消失了。我在publish中找到了一个RxJs/operators操作符,但是我很难弄清楚如何使用它。
如何重写这个RxJ 5代码以使用RxJs 6?
const myConnectableObservable = this.getObservable().publish()
发布于 2018-05-16 15:07:40
import { ConnectableObservable } from "rxjs"
import { publish } from "rxjs/operators";
const myConnectableObservable: ConnectableObservable<MyClass> = myService.getObservable().pipe(publish()) as ConnectableObservable<MyClass>;特别感谢@cartant
发布于 2019-07-15 08:34:57
您也可以尝试此版本,而不必转换为ConnectableObservable类型。这样您就不需要导入和转换。这是必要的,因为根据文档pipe() 总是返回可观察的.。
import { interval } from 'rxjs';
import { filter, publish } from 'rxjs/operators';
const source = interval(400);
const observable = publish()(source.pipe(
filter(x => x % 2 === 0),
));
observable.connect();最初作为一个问题发布在RxJS GitHub存储库中,请参见与问题的链接。
https://stackoverflow.com/questions/50371887
复制相似问题