lbe*_*ehr 5 .net c# system.reactive
来自操作员的文档TakeUntil(强调我的):
TakeUntil 订阅并开始镜像源 Observable。它还监视您提供的第二个 Observable。如果第二个 Observable 发出一个项目或发送终止通知,则 TakeUntil 返回的 Observable 停止镜像源 Observable并终止。
如果这是真的,那么为什么会阻止?:
Observable.Never<Unit>()
.TakeUntil(Observable.Empty<Unit>())
.Wait();
Run Code Online (Sandbox Code Playgroud)
Preston Guillot 在评论部分说得很对:
(旧)MSDN 文档与主 Rx 站点的文档不同,仅声明
TakeUntil“从源可观察序列返回值,直到另一个可观察序列产生值”。不考虑终止的可观察量。
让我们看一下的源代码Observable.TakeUntil,具体来说class O它代表了“终结者” Observable。我们可以看到parent.OnCompleted通知是在O.OnNext和发送的O.OnError。
因此,您的代码阻塞的原因是Observable.Empty(充当“终止符”)仅发出OnCompleted通知。
| 归档时间: |
|
| 查看次数: |
774 次 |
| 最近记录: |