在其他延续未执行时执行ContinueWith

本文关键字:执行 ContinueWith 其他 延续 | 更新日期: 2023-09-27 18:15:57

给定如下内容:

.ContinueWith((_, o) => this.Foo(), null, TaskContinuationOptions.OnlyOnRanToCompletion)
.ContinueWith((_, o) => this.Bar(), null, TaskContinuationOptions.OnlyOnFaulted)
.ContinueWith((_, o) => this.AnythingElse(), null, TaskContinuationOptions.?

是否有办法构造一个在其他延续未执行时执行AnythingElse的延续?

我想捕获所有其他可能的终止,但仅当上面的前两个延续中的一个尚未执行时。

在其他延续未执行时执行ContinueWith

使用OnlyOnCancelled,因为这是唯一的其他情况。

您还可以使用一个统一的延续,并根据任务状态决定要做什么。我认为这是最干净的方式,因为它会产生顺序的代码。