我想在我的反应式 sql 客户端事务中使用 Kotlin 协程。为简单起见,我将使用此处io.vertx.mutiny.sqlclient.Pool#withTransaction
文档中提到的提供的辅助函数。由于传递的函数不是协程挂起函数,因此当我尝试编译如下代码时出现错误Suspension functions can be called only within coroutine body
val client : PgPool
...
suspend fun someServiceFunction () {
client.withTransaction { connection ->
repository.save(connection, entity).awaitSuspending() //This is not working
...
}
}
withTransaction 的函数头如下所示
@CheckReturnValue
public <T> Uni<T> withTransaction(Function<SqlConnection, Uni<T>> function)
我问自己是否还有一种方法可以将它与 kotlin 协程一起使用,因为我对它们很陌生。
感谢您的任何帮助 !