小编kur*_*urt的帖子

kotlin协程与定时器有异步调用吗?

Kotlin是否有可能在一段时间内在协同程序中调用函数async(),在时间完成后会返回默认结果?

我发现只能调用await,而无限等待结果.

async {
        ...
        val result = computation.await()
        ...
}
Run Code Online (Sandbox Code Playgroud)

但是真实的生产情况比你需要返回默认结果或异常.什么是在Kotlin协同程序中做某事的正确方法?像这样的东西:

async {
        ...
        val timeout = 100500
        val result: SomeDeferredClass = computation.await(timeout)
        if (result.isTimeout()) {
           // get default value
        } else {
           // process result
        }
        ...
}
Run Code Online (Sandbox Code Playgroud)

coroutine kotlin

6
推荐指数
1
解决办法
3733
查看次数

如何在没有 spring-boot 的情况下在 spring-webflux 中加载配置?

我只是对 spring webflux 5.0.0 和 Kotlin 进行了一些实验,我在从 application.yml 加载配置时遇到了问题

对于基础项目,我从这个示例开始spring-kotlin-functional
但是只有手动加载 bean 和路由,而没有从配置文件加载任何示例,或者示例如何以这种方式实现 @ConfigurationProperties 类的模拟。

我尝试在 beans 部分中获取环境:

data class DbConfig(
    var url: String = "",
    var user: String = "",
    var password: String = ""
)

fun beans(): BeanDefinitionDsl = beans {
    bean {
        //try to load config from path=db to data class DbConfig
        env.getProperty("db", DbConfig::class.java)
    }

    bean<DBConfiguration>()

    //controllers
    bean { StatsController(ref()) }
    bean { UserController(ref()) }

    //repository
    bean { UserRepository(ref()) }

    //services
    bean { StatsService(ref()) }

    //routes …
Run Code Online (Sandbox Code Playgroud)

spring spring-mvc kotlin spring-boot

5
推荐指数
1
解决办法
1305
查看次数

将 Kotlin/Js 对象动态转换为纯 JavaScript 对象的简单方法是什么?

例如,我们有这样的结构:

data class Item(
        val city: String,
        val name: String
)

val structure = mapOf("items" to listOf(
                Item("NY", "Bill"),
                Item("Test", "Test2"))

)
Run Code Online (Sandbox Code Playgroud)

我想在 Javascript 中获取这个对象:

var structure = {
  "items": [
    {
      "city": "NY",
      "name": "Bill"
    },
    {
      "city": "Test",
      "name": "Test2"
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我们如何map从 Kotlin 转换为dynamicJavascript 中具有这种结构的类型?

我只找到这种明确的方式:

fun Map<String, Any>.toJs(): dynamic {
    val result: dynamic = object {}

    for ((key, value) in this) {
        when (value) {
            is String -> result[key] = value …
Run Code Online (Sandbox Code Playgroud)

javascript dynamic kotlin kotlin-js-interop

5
推荐指数
1
解决办法
1957
查看次数