类型'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 
} 
+0

谢谢! '让!'做了我认为的诡计! –