How can I await a minimum amount of time? : <p>I have an async C# method where I am getting an HTTP resource, and I am doing it in an infinite loop.  However I don't want to hit the resource too quickly.  My current code is:</p>

<pre><code>HttpClient http = new HttpClient();
while (true) {
    // Long-poll the API
    var response = await http.GetAsync(buildUri());

    Console.WriteLine("Resp: " + response.ToString());
    Console.WriteLine("CONTENT:");
    Console.WriteLine(await response.Content.ReadAsStringAsync());
}
</code></pre>

<p>However, I want to be able to make sure I don't make an HTTP request more often than once per 10 seconds.  So I want to start a 10 second timer at the beginning of the loop, and at the end say "await the completion of the 10 second timer".  Is there a way to do this in C#.NET?</p>
