未来延迟后,RxDart监听不起作用

时间:2019-12-23 01:04:50

标签: rxdart

我正在RxDart中使用autoConnect,其描述为

  

返回第一个观察者订阅时自动(最多一次)连接到此ConnectableObservable的Observable。

  Observable<int> o = Observable.range(1, 2).publish().autoConnect();

  o.listen((v) { print('Observer 1: $v'); });
  o.listen((v) { print('Observer 2: $v'); });
  await Future.delayed(const Duration(microseconds: 1));
  o.listen((v) { print('Observer 3: $v'); });

输出:

Subscriber 1: 1
Subscriber 2: 1
Subscriber 1: 2
Subscriber 2: 2

如您所见,第三个观察者没有输出。

如果我使用ConnectableObservable并将.connect()调用放在延迟之前以及使用refCount()时也会发生类似的输出

但是对于refCount,我认为这是可以预期的,因为描述如下:

  

返回与该ConnectableObservable保持连接的Observable    只要至少有一个订阅    ConnectableObservable。

我不理解为什么autoConnect的行为像refCount(它们之间有什么区别) 还有为什么延迟后的观察者听不到声音

0 个答案:

没有答案