2016-12-09 166 views
5

我有一個mySources變量,seq<Async <string []>>。我的目標是將序列平坦化,並將一個序列中的所有元素合併成一個單元Async<string []>類型'Async <string []>'與類型'seq <'a>'不兼容'

我正在使用Seq.collect方法。

let myJoinedAsyncs = Seq.collect (fun elems -> elems) mySources

,但此行讓我表明上MYSOURCE錯誤:

型「異步」是與類型不兼容「序列<‘一>’

任何想法? 謝謝!

回答

5

您可以使用Async.Parallel收集內在價值和Concat的結果序列:

let flattenAsync (asyncs : seq<Async<'a []>>) = async { 
    let! ss = Async.Parallel asyncs 
    return Array.concat ss 
} 
+0

謝謝! '讓!'做了我認爲的詭計! –

相關問題