인수교*_*인수교 3 asynchronous dart kotlin flutter
我正在为 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)
老问题,但也许有人会遇到这个问题,就像我一样。
是的,有类似的东西:CompletableDeferred
伪代码示例:
@Volatile
private var completableMeetingService = CompletableDeferred<MeetingService>()
// we want to join meeting, but have to wait for initialization
completableMeetingService.await().joinMeetingWithParams
// completing deffered in some listener
completableMeetingService.complete(zoomSDK.meetingService)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
543 次 |
| 最近记录: |