订户不返回值

Subscriber not returning value

如何在 Kotlin 中创建 Flow.Subscriber?

    val body = this.bodyPublisher().map { p -> {
        val bs  = HttpResponse.BodySubscribers.ofString(StandardCharsets.UTF_8)
        val fs = StringSubscriber(bs)
        p.subscribe(fs)
        bs.body.toCompletableFuture().join()
    } }.get()

它returns一个空字符串

this.bodyPublisher().map { p -> {
    val bs  = HttpResponse.BodySubscribers.ofString(StandardCharsets.UTF_8)
    val fs = StringSubscriber(bs)
    p.subscribe(fs)
    bs.body.toCompletableFuture().join()
} }

在 lambda 中使用大括号会 return lambda。应该更新如下

this.bodyPublisher().map { p -> 
    val bs  = HttpResponse.BodySubscribers.ofString(StandardCharsets.UTF_8)
    val fs = StringSubscriber(bs)
    p.subscribe(fs)
    bs.body.toCompletableFuture().join()
}