gpt4 book ai didi

kotlin - @Around 方面和 Kotlin 挂起函数

转载 作者:行者123 更新时间:2023-12-02 05:58:07 25 4
gpt4 key购买 nike

我尝试了解如何为 Kotlin 的挂起函数创建 @Around 方面(例如,测量在此函数中花费的时间,或自定义 @Transactional 方面):

@Timed("my-timer")
suspend fun test() {
println("before")
delay(50) // invokes ProceedingJoinPoint#proceed() before this line
println("after")
}

由于该函数有一个挂起函数调用,因此@Around方面的proceed函数将在delay()调用之前被调用。但显然我想测量在该函数中花费的全部时间。

正确的解决方法是什么?也许我可以以某种方式订阅该方法中的最后一个延续,或者类似的东西?

最佳答案

我认为你可以轻松解决你的问题,如果你想测量函数的执行时间,你可以使用内置功能来完成,如下所示:

val time = measureTimeMillis {
// yourSuperFunc()
}

此外,您还可以使用measureNanoTime。如需完整引用,请查看here .

关于kotlin - @Around 方面和 Kotlin 挂起函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54015762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com