【发布时间】:2021-08-16 04:13:14
【问题描述】:
我正在尝试将库从 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??
【问题讨论】:
-
我很好奇,移植到Java的原因是什么?最简单的方法是在 Kotlin 中编写包装代码并声明一个非暂停 API,例如使用期货。但这依赖于“允许”编写一些 Kotlin 代码,因此是我的问题。
-
等等,你想调用从Java挂起函数吗?或者 convert 他们?如果你转换一个挂起函数,你可能只会将问题进一步移动,因为该函数可能会调用其他挂起函数。如果是这种情况,您是否正在转换所有内容?
-
其实我在第一条评论中提到的东西已经在这里描述过:stackoverflow.com/questions/52869672/…
-
我正在将库转换为 Java,因为我比 Kotlin 更喜欢它。另外,我想添加新功能,因为我比 Kotlin 更熟悉 Java,所以我更容易维护它。
标签: kotlin