我在AAR的Kotlin模块中编写了以下代码,该模块作为Xamarin Android绑定库的一部分包含在Xamarin应用程序中。
runBlocking {
try {
withTimeout(timeoutMsL) {
while ((isActive) && (!success)) {
success = getDataFromBuffer()
}
}
}
catch (ex: TimeoutCancellationException) {
setAVariable()
}
}
timeoutMsL
是Long
,通常为50毫秒。
但是,我找不到在Xamarin中使用Kotlin协程的任何方法。
Xamarin似乎仅支持Xamarin.Kotlin.StdLib
(我问了关于here的另一个问题)。
上述功能会尝试从缓冲区读取数据,直到成功或达到超时为止。
如何在不使用协程的情况下在Kotlin中实现上述功能?