一个快速的问题。我已经使用RxJS 5几个月了,遇到了一些行为,我真的不理解,因为我无法在任何地方查找它。
我的情况是,仅使用.subscribe();
订阅一个可观察链并不会触发observable。
但是,如果我添加一个onNext回调(空或非空),则observable会被触发,并且链会处理:.subscribe(() => {});
有人能解释为什么会出现这种行为吗?
一个快速的问题。我已经使用RxJS 5几个月了,遇到了一些行为,我真的不理解,因为我无法在任何地方查找它。
我的情况是,仅使用.subscribe();
订阅一个可观察链并不会触发observable。
但是,如果我添加一个onNext回调(空或非空),则observable会被触发,并且链会处理:.subscribe(() => {});
有人能解释为什么会出现这种行为吗?
.subscribe()
方法实际上不需要任何参数,如果没有给出参数,它会创建一个emptyObserver
对象,这应该同样有效。
然而在一些 5.0.0-beta 版本中可能存在相关问题 - 如果您正在使用其中之一的版本,应该更新到更稳定的版本。
const obs$ = Rx.Observable.of("Foo")
.do(() => console.log("triggered!"));
obs$.subscribe();
obs$.subscribe();
<script src="https://unpkg.com/rxjs@5.1.1/bundles/Rx.min.js"></script>
Info:
subscribe()
的所有参数都是可选的,它可以在没有任何参数的情况下正常工作。 - martin