Kotlin JS用可选参数覆盖'external'函数错误
问题描述:
我使用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
方法的语法吗?
答
现在最好的方法是用Kotlin的函数文字类型替换界面,但另一个问题是我们无法正确地(通常)将它映射到Kotlin的函数文字类型。
相关的问题: https://youtrack.jetbrains.com/issue/KT-16319 https://github.com/Kotlin/ts2kt/issues/55 https://github.com/Kotlin/ts2kt/issues/56
随时纠正生成的文件,ts2kt是非常错误。但实际上,JQuery已经在kotlin标准库中 –
标准库中的jQuery已被弃用,它似乎只包含它的一部分。 – zsmb13