2017-08-03 117 views
1

我使用jQuery在我的项目中使用ts2kt。基础知识做工精细,但是,我无法弄清楚如何调用这个函数(我只是想传递一个回调的话):Kotlin JS用可选参数覆盖'external'函数错误

fun done(doneCallback1: JQueryPromiseCallback<T>? = definedExternally /* null */, 
     vararg doneCallbackN: JQueryPromiseCallback<T>): JQueryPromise<T> 

JQueryPromiseCallback界面看起来是这样的:

external interface JQueryPromiseCallback<T> { 
    @nativeInvoke 
    operator fun invoke(value: T? = definedExternally, vararg args: Any) 
} 

我试图创建它的一个实例来传递这样的:

0123:

done(object : JQueryPromiseCallback<Any> { 
    override fun invoke(value: Any?, vararg args: Any) { 

    } 
}) 

不过,我在调用函数得到一个错误

重写“外部”可选parameters`功能

已生成也已经过时,并给了我,我不能想出一个过时消息的@nativeInvoke注释:

使用内联扩展功能与身体使用动态

我是否应该更正ts2kt生成的文件?如果是这样,怎么样?我只是没有覆盖invoke方法的语法吗?

+0

随时纠正生成的文件,ts2kt是非常错误。但实际上,JQuery已经在kotlin标准库中 –

+0

标准库中的jQuery已被弃用,它似乎只包含它的一部分。 – zsmb13

回答