可以在 swift 中使用 javascriptcore 进行递归函数调用吗?

Possible in swift to do a recursive function call with javascriptcore?

我有一个由 javascript 使用 JavascriptCore 调用的函数。 现在在该函数中,我必须在特定条件下再次评估 javascript 。这应该调用相同的函数。

let My_JS_Function: @convention(block) ( String, String, String ) -> ( ) = {
    thing_1, thing_2, thing_3
    in
    let my_Condition = true
    if my_Condition {        
      let c = JSContext()
      // compiling error: "Variable used within its own initial value"
      Context.setObject(unsafeBitCast(My_JS_Function, AnyObject.self), forKeyedSubscript: "My_JS_Function")
      c.evaluateScript("My_JS_Function("value 1","value 2","value 3");")
    }
  }

现在XCode告诉我:

Variable used within its own initial value

有人知道有什么办法可以解决这个问题吗? 也许有一种方法可以将 My_JS_Function 写成一个函数,而不是像这里那样写成一个变量?

我可以通过避免将函数作为属性来解决这个问题。 因此,我将功能放在一个额外的 class 中并使用了 JSExport。

一个关于如何使用 JSExport 完成的示例可以是 found here