我确实有一个无限循环,可以执行一些操作。我希望能够以特定原因取消当前的操作。但是,我找不到使用paremetr的cancell任务的解决方案。
private async void ProcessAsync()
{
while (true)
{
try
{
var result = await Task<object>.Run(async () =>
{
await Task.Delay(10000);
await Task.Delay(10000);
return new object();
}, _cts.Token);
}
catch (OperationCanceledException)
{
}
//catch (AnyOtherException)
//{
//
//}
}
}
每当我想取消任务时,我都会调用CancellationTokenSource.Cancel()方法。该方法不接受任何争论。我所能做的就是捕获OperationCanceledException。
是解决该问题的另一种方法还是实现我想要的另一种方法?