F # имеет Async.Parallel
с сигнатурой типа seq<Async<'a>> -> Async<'a list>
, которая будет принимать последовательность асинхронных типов, подготавливать их к параллельной работе и выводить один асинхронный тип.
Мне было интересно, есть ли похожий Async.Sequential
, который имеет такую же сигнатуру типа, но запускает каждый элемент в последовательности один за другим? Я чувствую, что, должно быть, упускаю что-то очевидное?
Я бы хотел сделать что-то вроде следующего:
async {
let! results =
myItems
|> List.map myAsynchronousOperation
|> Async.Sequential
... do something with results
}