类型 'Async<string []>' 与类型 'seq<'a>' 不兼容
type 'Async<string []>' is not compatible with the type 'seq<'a>'
我有一个 mySources
变量,seq<Async <string []>>
。我的目标是将序列展平并在单个 Async<string []>
中加入一个序列中的所有元素
我正在使用 Seq.collect
方法。
let myJoinedAsyncs = Seq.collect (fun elems -> elems) mySources
但是这一行在 mySource 上给我一个错误,表明:
类型'Async'与类型'seq<'a>'
不兼容
有什么想法吗?
谢谢!
您可以使用 Async.Parallel
收集内部值并连接结果序列:
let flattenAsync (asyncs : seq<Async<'a []>>) = async {
let! ss = Async.Parallel asyncs
return Array.concat ss
}
我有一个 mySources
变量,seq<Async <string []>>
。我的目标是将序列展平并在单个 Async<string []>
我正在使用 Seq.collect
方法。
let myJoinedAsyncs = Seq.collect (fun elems -> elems) mySources
但是这一行在 mySource 上给我一个错误,表明:
类型'Async'与类型'seq<'a>'
不兼容有什么想法吗? 谢谢!
您可以使用 Async.Parallel
收集内部值并连接结果序列:
let flattenAsync (asyncs : seq<Async<'a []>>) = async {
let! ss = Async.Parallel asyncs
return Array.concat ss
}