我正在为 flutter 创建插件。并面临 Android 原生的问题。我正在使用 Android 版 Kotlin,并且希望使用 Flutter 平台通道的价值。很难用英语解释。这是一个代码。
fun Foo(): Any? {
methodChannel.invokeMethod(
"method",
null,
object : ErrorLogResult("tag") {
override fun success(result: Any?) {
super.success(result)
// Get result.
}
})
// return result from result callback after callback is done.
}
Run Code Online (Sandbox Code Playgroud)
它可以像下面的 dart 代码一样。
Future<dynamic> Foo() async {
final completer = Completer();
someFunctionWithCallback((result) {
completer.complete(result);
});
return completer.future;
}
Run Code Online (Sandbox Code Playgroud)