2017-09-06 78 views
0

据我所知在旧RxJS 4我可以更改默认调度程序猴修补DefaultScheduler.prototype。这是正确的,或者有更好的方法来做到这一点?如何更改RxJS使用的默认调度程序?

这是可能实现在更新的RxJS 5。因为正如我在源代码中看到的那样,它们使用null作为默认调度程序,但不能进行猴子修补。例如here

那么如何更改RxJS使用的默认调度程序? (用于测试,调试或只是为了好玩)

回答

1

我不认为有一种方法来设置一个默认的调度在RxJS 5

其中一个原因可能是,这可能会导致意外的行为。例如看看Observable.range()。在RxJS 5中它不使用任何调度程序,除非您专门设置了一个,请参阅https://github.com/ReactiveX/rxjs/blob/master/src/observable/RangeObservable.ts#L89

因此,如果您可以使用某些默认调度程序,您期望从Observable.range()得到什么行为?要始终使用此默认调度程序?那么其他运营商需要使用一些异步调度呢?它们是否应该将调度程序传递给与Observable.range()类似工作的其他运算符,这些运算符的行为可能与您预期的不同?

+0

是的你是对的,设置默认调度程序没有任何意义 –