2016-12-09 8 views
5

私はという変数、seq<Async <string []>>を持っています。私の目的は、シーケンスをフラット化し、シーケンス内のすべての要素を単一の要素に結合することです。Async<string []>タイプ 'Async <string []>'はタイプ 'seq <'a>'と互換性がありません

私はSeq.collectメソッドを使用しています。

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

しかし、このラインは、ことを示してくれMYSOURCE上のエラーを与える:型「非同期」のタイプと互換性がありません

「配列< 『>』

任意のアイデア? ありがとう!

答えて

5

あなたは結果のシーケンスを内部値を収集し、CONCATするAsync.Parallelを使用することができます。

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

感謝を! 'let!'私が思うトリックをやった! –

関連する問題