【发布时间】:2016-01-01 23:00:37
【问题描述】:
鉴于这样的事情:
.ContinueWith((_, o) => this.Foo(), null, TaskContinuationOptions.OnlyOnRanToCompletion)
.ContinueWith((_, o) => this.Bar(), null, TaskContinuationOptions.OnlyOnFaulted)
.ContinueWith((_, o) => this.AnythingElse(), null, TaskContinuationOptions.?
有没有办法构造一个在其他延续没有执行时将执行AnythingElse 的延续?
我想捕获所有其他可能的终止,但前提是上面的前两个延续之一尚未执行。
【问题讨论】:
-
如果我理解正确,你想只在 Foo 或 Bar 还没有完成的情况下执行
AnythingElse?我不太清楚,因为您使用ContinueWith(这意味着:在上一个任务完成后运行 this),但是您说只有在它们尚未执行时才想继续 -
如果没有异常并且它没有运行完成 - 更重要的是 - 在任何没有执行 foo 和 bar 的情况下,我希望执行任何其他操作。
-
如果没有异常并且它没有运行完成,我想要执行任何其他操作它怎么能不运行完成?你想设置一个超时吗?我不太清楚你在这里的意思。
标签: c# asynchronous async-await continuations