定义
callFunction
在里面
GlobalScope
是错误的。它要求
js.Array[String] => Boolean
,这是一个
斯卡拉
功能来自
js.Array[String]
到
Boolean
,不是javascript函数。当你叫它的时候,即使你给它一个
js.Function1[js.Array[String], Boolean]
(这是正确的),scala类型系统将插入
js.Function1
到
scala.Function1
以符合预期的类型。但是当然,javascript代码
调用函数
接收scala函数,但不满意它。
解决方法是确定
调用函数
采取
js.功能1
:
@JSGlobalScope
@js.native
object GlobalScope extends js.Any {
def callFunction(someFunction: js.Function1[js.Array[String], Boolean]): Unit = js.native
}