asynchronous - F# 是否有 Async.Sequential 来匹配 Async.Parallel?
问题描述
F# 具有Async.Parallel
with type signature seq<Async<'a>> -> Async<'a list>
,它将采用一系列 Async 类型,准备它们以并行运行,并输出单个 Async。
我想知道是否有类似Async.Sequential
的具有相同类型签名,但依次运行每个项目?我觉得我一定错过了一些明显的东西?
我想做类似以下的事情:
async {
let! results =
myItems
|> List.map myAsynchronousOperation
|> Async.Sequential
... do something with results
}
解决方案
我认为没有内置的,但编写自己的应该是微不足道的:
let sequential s = async {
let results = ResizeArray()
for a in s do
let! result = a
results.Add(result)
return List.ofSeq results
}
推荐阅读
- sql-server - 实现自定义身份但在启动时崩溃
- go - 我如何从 time.Now() 函数中获取分钟和小时
- javascript - 如何在 FlipClock.js 中使用开始/结束数值设置计数器
- pandas - 如何使用pyspark检查数据框中的空值并将状态分配给新列
- powershell - Get-Date 无法将 null 转换为类型“System.Datetime”
- laravel - Laravel 5.7 从作业(队列)表中读取电子邮件内容
- java - 在 Tomcat 9 上托管 SpringBoot 会出现 404 错误
- xamarin.forms - 多个 aar 文件到单个 xamarin 表单项目中
- postgresql - 从查询结果中设置默认值
- amazon-cognito - 使用 ASP.NET Core 获取组 Cognito Groups?