我正在尝试将一个库从Kotlin转换为Java,但是这个方法限制了我的使用:
private suspend fun queryPurchases() {
val inappResult: PurchasesResult = mBillingClient.queryPurchasesAsync(BillingClient.SkuType.INAPP)
processPurchases(inappResult.purchasesList, isRestore = true)
val subsResult: PurchasesResult = mBillingClient.queryPurchasesAsync(BillingClient.SkuType.SUBS)
processPurchases(subsResult.purchasesList, isRestore = true)
}如何在Java中使用suspend fun??
发布于 2021-05-28 05:16:13
可挂起函数是Kotlin添加的一个特性,并且是它所独有的。您不能轻松地在Java中创建甚至调用挂起函数。
您可以忽略原始函数是可挂起的这一事实,并将其视为常规函数,但是如果库广泛使用协程,则很难将其移植到Java。
发布于 2021-05-28 05:35:27
在Java中最接近的可能是CompletableFuture或Reactive Stream。
来自Spring生态系统的Project Reactor是一个流行的反应式流实现。
无论您使用哪种技术,以保留原始代码并发性的方式进行移植可能都不是一件容易的事情。
https://stackoverflow.com/questions/67729958
复制相似问题