等待方法中的取消令牌

时间:2012-12-11 15:14:24

标签: c# async-await async-ctp cancellation-token

将令牌放在任务的构造函数中有很多理由,如下所述: Cancellation token in Task constructor: why?

使用关键字async / await,这是如何工作的? 例如我的代码如下:

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

虽然这是一个异步过程。我很快就使用了“Task.StartNext”或“Task.Run”或“new Task”。为了能够指定我的取消令牌,我该怎么办?

1 个答案:

答案 0 :(得分:4)

您不应该在Task方法中使用async构造函数。通常,您只想传递CancellationToken,如下所示:

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