运行时报错,但又能调用成功
调用结果:
11:02:56.514 UTS: targetFunction invoke error - java.lang.ClassCastException: kotlin.Unit cannot be cast to kotlinx.coroutines.Deferred
11:02:56.613 addShortcut [UTSJSONObject] {action: "scan", title: "扫一扫"} at uni_modules/ql-plugin-shortcut/utssdk/app-android/index.uts:7
代码:
type AddShortcutApi = (options : UTSJSONObject) => void;
export const addShortcut: AddShortcutApi = (options) => {
console.log('addShortcut', options);
};
编译后kt文件
@file:Suppress("UNCHECKED_CAST", "USELESS_CAST", "INAPPLICABLE_JVM_NAME", "UNUSED_ANONYMOUS_PARAMETER", "NAME_SHADOWING", "UNNECESSARY_NOT_NULL_ASSERTION")
package uts.sdk.modules.qlPluginShortcut
import io.dcloud.uniapp.*
import io.dcloud.uniapp.extapi.*
import io.dcloud.unicloud.*
import io.dcloud.uts.*
import io.dcloud.uts.Map
import io.dcloud.uts.Set
import io.dcloud.uts.UTSAndroid
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.Deferred
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.async
typealias AddShortcutApi = (options: UTSJSONObject) -> Unit
val addShortcut: AddShortcutApi = fun(options){
console.log("addShortcut", options, " at uni_modules/ql-plugin-shortcut/utssdk/app-android/index.uts:8")
}
fun addShortcutByJs(options: UTSJSONObject): Unit {
return addShortcut(options)
}
1 个回复
DCloud_Android_DQQ
提供可以复现问题的最简示例。我确认一下