如何将f#fable代码编译为多参数javascript函数

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (12)

您好我正在尝试为用java编写的数据库进行som基本绑定,理想情况下我想在F#中实际使用。但是我对javascript很不熟悉。我已经设法让绑定与1参数一起工作,但是当你需要3时,多个参数因为试图用1参数调用函数而导致程序崩溃。

代码:

type IRNCouchDBs =
    abstract member Add : string*string*((string)->string)

[<Import("CouchDB", from = "NativeModules")>]
let couchDB : IRNCouchDBs = jsNative

在这种情况下添加是在java中,基本上是:

@ReactMethod 
public void Add (String name, String type, Callback cb)

如果我像这样调用f#代码

 let str (s : string)  =  s //just a test function
couchDB.Add ("name", "type", (str "test"))

然后发生错误,抱怨我试图将1参数函数传递给多参数函数。

如何解决这个问题的任何想法将是最受欢迎的。

提问于
用户回答回答于

type IRNCouchDBs = abstract member Add : Func<string, string, ((string*string->string)), unit> [<Import("CouchDB", from = "NativeModules")>] let couchDB : IRNCouchDBs = jsNative let f' = (fun (x :string,y ) -> (x + y)) couchDB.Add.Invoke (fish.FishType,fish.Name, f')

使用Func,并调用它似乎是这样做的方式。

扫码关注云+社区

领取腾讯云代金券