如何在 Task<int> 列表之间插入延迟?

Sco*_*ttG 4 c# async-await

我有一个创建 5 个任务的循环。如何在每个任务之间插入 5 秒的延迟。我不知道如何将 Task.Delay(5000) 放在那里。

 var tasks = new List<Task<int>>();

 for (var i = 0; i < 5; i++)
 {  
      tasks.Add(ProcessQueueAsync());
 }

 await Task.WhenAll(tasks);
Run Code Online (Sandbox Code Playgroud)

我的 ProcessQueAsync 方法调用服务器,检索数据并返回 int。

  private async Task<int> ProcessQueAsync()
  {
     var result = await CallToServer();
     return result.Count;
  }
Run Code Online (Sandbox Code Playgroud)

usr*_*usr 6

 for (var i = 0; i < 5; i++)
 {  
      tasks.Add(ProcessQueueAsync());
      await Task.Delay(5000);
 }
Run Code Online (Sandbox Code Playgroud)

或者:

 for (var i = 0; i < 5; i++)
 {  
      await ProcessQueueAsync();
      await Task.Delay(5000);
 }
Run Code Online (Sandbox Code Playgroud)

取决于你想要的。