【发布时间】:2019-04-09 13:59:29
【问题描述】:
我正在尝试创建一个 .WithDelay(seconds); 方法,我可以在异步方法调用的末尾添加它。
我得到的问题是首先调用异步方法然后延迟发生,我希望它反过来,而不切换调用顺序。
例如,我想要await MyMethod().WithDelay(seconds); 而不是await WithDelay(seconds).MyMethod();。
这是我目前所拥有的,它首先调用方法:
public async static Task<T> WithDelay<T>(this Task<T> task, int delay) {
await Task.Delay(delay);
return await task;
}
我希望延迟首先发生,然后才是实际运行的方法。
【问题讨论】:
标签: c# async-await task extension-methods