2016-02-26 72 views
0

我通过这个运行我的数据:F#预期类型列表中,但这里的类型是[]

myData |> List.map(myAsyncMethod) |> Async.Parallel |> Async.RunSynchronously 

myData的是:MyDataType list,这就是我期待着回来,而是我得到[](我认为是一个清单)...

无论如何,我不知何故需要将类型[]回到列表,或修复我的函数返回列表...或换出我的数据类型与[]兼容。

任何答案都可以,我只是需要它的工作(尽可能高效)。

+3

“myAsyncMethod”的类型是什么样的? '[]'是一个数组,确实有点令人困惑,因为编写一个实际的数组使用'[| |]'方括号。 – TeaDrivenDev

+0

这将有所帮助。 F#需要更好的错误消息和VS支持。当我回到我的电脑时,我会尝试。 Async方法只是运行一个更新。 –

+1

绝对是。错误信息往往不仅仅是“错误的,修正!”,而解释它们是一个经验问题。 – TeaDrivenDev

回答

4

Async.Parallel将创建一个数组的输出。

这很有意义,因为您需要预先分配一些空间来返回结果,而不能使用列表。

您可以使用Array.toList将其转换为末尾的列表

+0

谢谢,这是有效的。只是改变我的数据使用数组而不是列表,因为我认为这会比试图转换它快。 –

相关问题