gpt4 book ai didi

reactive-programming - 在 Mono 中转换 Mono 添加一个值

转载 作者:行者123 更新时间:2023-12-04 16:01:29 26 4
gpt4 key购买 nike

我的程序服务提供了一些返回 Mono<Void> 的删除方法。 ,例如:fun delete(clientId: String) : Mono<Void>
调用后.delete("x")我想向下游传播 clientId 以执行其他操作:

userService.get(id).map{ user -> 
userService.delete(user.id) //This returns Mono<Void>
.map {
user.id //Never called!!!
}
.map { userId ->
//other calls using the propagated userId
}
}

问题是因为删除返回 Mono<Void> ,以下 .map {
user.id }
永远不会被调用。那么我该如何转换 Mono<Void>Mono<String>传播用户ID?

最佳答案

您可以使用 thenReturn 运算符(operator):

userService.get(id)
.flatMap { user -> userService.delete(user.id).thenReturn(user.id) }
.flatMap { id -> //other calls using the propagated userId }

关于reactive-programming - 在 Mono<String> 中转换 Mono<Void> 添加一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57434189/

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