嗨,这可能是主要功能
static void Main(string[] args)
{
foreach(var user in sommodel)
{
AsyncContext.Run(() => sf.StartFollowState(5));
}
}
这是任务
public class StartFollow
{
public async Task StartFollowState(long iuid)
{
foreach(var user in sommodel)
{
if(somthing)
{
//cancel a task
}
//do some
}
foreach(var user in sommodel)
{
//do some
}
}
}
正如你在任务中看到的那样,我想停止或取消那个 foreach 中的任务 我该怎么做?
最佳答案
不幸的是,不能简单地取消任务。您可以做的是“返回”方法,以便任务进入必杀技,然后等待垃圾收集器完成工作。
public class StartFollow
{
public async Task StartFollowState(long iuid)
{
foreach(var user in sommodel)
{
if(somthing)
{
//cancel a task
return;
}
//do some
}
foreach(var user in sommodel)
{
//do some
}
}
}
关于c# - 在任务中取消异步任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46378842/