类型'Async '与类型'seq <'a>'不兼容'
问题描述:
我有一个mySources
变量,seq<Async <string []>>
。我的目标是将序列平坦化,并将一个序列中的所有元素合并成一个单元Async<string []>
类型'Async <string []>'与类型'seq <'a>'不兼容'
我正在使用Seq.collect
方法。
let myJoinedAsyncs = Seq.collect (fun elems -> elems) mySources
,但此行让我表明上MYSOURCE错误:
型“异步”是与类型不兼容“序列<‘一>’
任何想法? 谢谢!
答
您可以使用Async.Parallel
收集内在价值和Concat的结果序列:
let flattenAsync (asyncs : seq<Async<'a []>>) = async {
let! ss = Async.Parallel asyncs
return Array.concat ss
}
谢谢! '让!'做了我认为的诡计! –