Ако имате много URL адреси за извикване, има ли модели на опашка във F# с някакъв вид ограничение, като да кажем 5 или 10 извиквания наведнъж, преди да продължите към следващата група.
let urls = [
"http://example.com/1",
"http://example.com/2",
"http://example.com/3",
....
"http://example.com/100"]
Докато предавате функция за извикване
let getAsync (url:string) =
async {
let httpClient = new System.Net.Http.HttpClient()
let! response = httpClient.GetAsync(url) |> Async.AwaitTask
response.EnsureSuccessStatusCode () |> ignore
let! content = response.Content.ReadAsStringAsync() |> Async.AwaitTask
return content
}
и след това получавате списък с всички резултати и всички грешки, тъй като някои обаждания може да са неуспешни поради някаква причина като грешки 404 или 500.