取消标记在等待的方法(Cancellation Token in await method)

2019-07-04 23:08发布

有许多理由把一个令牌任务的构造,这里所说: 取消令牌任务建构:为什么呢?

通过使用关键字,异步/ AWAIT,如何实现这工作? 例如下面我的代码:

public async Task MethodAsync(CancellationToken token)
{
  await Method01Async();
  await Method02Async();
}

虽然这是一个异步过程。 在任何时候,我用“Task.StartNext”或“Task.Run”或“新任务”。 为了能够指定我取消标记,我该怎么办?

Answer 1:

你不应该使用Task构造的async方法。 通常情况下,你只是想传递CancellationToken上,就像这样:

public async Task MethodAsync(CancellationToken token)
{
  await Method01Async(token);
  await Method02Async(token);
}


文章来源: Cancellation Token in await method