我有来自 http://sourceforge.net/p/onvifdm/code/HEAD/tree/ 的来源
当我尝试构建此解决方案时,我在 onvif.utils
项目中遇到以下问题。
use! response = request.AsyncGetResponse() |> Async.Map(fun x-> x:?>HttpWebResponse)
Error: Method or object constructor 'Map' not found
D:\Working\onvifdm\onvifdm-code-96-trunk\onvif\onvif.utils\OdmSession.fs
最佳答案
这是一个扩展 Async 的函数,取自 understanding map 上的有用来源。
module Async =
let map f op = async {
let! x = op
let value = f x
return value
}
其中有一个类型签名
('a -> 'b) -> Async<'a> -> Async<'b>
例如 -
let onInts = async { return 1 }
... 是一个
async<int>
,并且 ...let onStrings = Async.map (fun x -> x.ToString()) onInts
... 产生一个
Async<string>
。关于找不到 F# Async.Map,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28777848/