DeC*_*Caf 3 .net system.reactive .net-4.5 cancellation-token
我有一个方法返回IObservable<long>我从async方法调用的方法.我想将此转换为正常List<long>,但如果我CancellationToken发出信号,则取消该操作.
我想做这样的事情:
List<long> result = await Foo().ToList(myCancellationToken);
Run Code Online (Sandbox Code Playgroud)
完成此任务的正确(和最简单)方法是什么?返回an 的ToList()扩展方法并不带参数.IObservable<T>IObservable<List<T>>CancellationToken
var list = await Foo().ToList().ToTask(cancellationToken);
Run Code Online (Sandbox Code Playgroud)
如果令牌被取消,这具有立即取消的优点(另一个答案将在下次Foo可观察量产生值时取消).