我有来自 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/

10-12 12:39
查看更多