我如何等待 Mono 完成以便我可以利用生成的值

How can I wait for Mono to finish so I can utilise generated value

我想 return 来自 sendRequest() 方法的状态代码,而不是仅仅能够打印值。谁能指出如何将下面的代码修改为 "wait for the Mono to complete"?

我知道我可以使用 Thread.sleep(1000); 但这似乎不是一个好方法!

private fun sendRequest(url:String): Disposable {
    val webClient= WebClient.builder().baseUrl(url.trim())
            .defaultHeaders { header: HttpHeaders ->
                header.setBasicAuth("username", "password") }
            .build();

    return webClient.get()
            .uri(url)
            .exchange()
            .map { response: ClientResponse -> response.statusCode() }
            .subscribe { v -> printStatus(v)}
}

fun printStatus(statusMono: HttpStatus) {
    println(statusMono)
}

我知道,因为我在 Webflux 应用程序中使用 WebClient,所以我必须 return Mono 或 Flux 一直到调用客户端,因为调用客户端是订阅者。但是我不知道怎么弄。

@JEY 发布上面的答案。 这对我有用:

webClient.get().uri(url).exchange().map { it.statusCode() }