Если у вас есть много 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.