java - 如何解决,调用 Mono然后结果将用于另一个 Mono,然后将返回 Mono?
问题描述
嗨,我刚开始学习反应式编程
我在这里有这段代码,我的流程应该是我将调用 tokenRepository 来获取令牌,然后使用 token.getAccessToken() 作为 cardRepository.findAllCards() 上的参数
public class CardService {
private final CardRepository cardRepository;
private final TokenRepository tokenRepository;
public CardService(CardRepositorycardRepository,
TokenRepository tokenRepository) {
this.cardRepository = cardRepository;
this.tokenRepository = tokenRepository;
}
public Mono<CardCollection> findAllCards(MultiValueMap<String, String> queryParams) {
Mono<Token> token =tokenRepository.requestToken();
// then I would like to use the token.getAccessToken
return cardRepository.findAllCards(token.getAccessToken, queryParams); // Then this should return Mono<CardCollection>
}
}
想知道这是否可能?
解决方案
我找到了答案,虽然我不太确定这是否是正确的方法。
这就是我对我的代码所做的。
public Mono<CardCollection> findAllCards(MultiValueMap<String, String> queryParams) {
return tokenRepository.requestToken().flatMap(token -> {
return cardRepository.findAllCards(token.getAccessToken(), queryParams);
});
}
推荐阅读
- python - 错误显示太多要解压的值,但只有两个参数
- django - 注册后如何在django中为用户设置免费试用期
- python - 上传 .gpx 文件 Streamlit Python
- javascript - 样式化组件和模板文字
- c# - 如何在 C# 中将名称从 ListBox 显示到 TextBox?
- python - 用指定(和有序)键在字典中总结的最快方法
- haskell - 复合模式是否可以用于从树生成 HTML 并处理缩进,或者这本质上是不可能的?
- c - 将文件发送到远程 FTP 服务器
- laravel - 急切加载非直接关系laravel
- wordpress - Wordpress:如何使用 ACF 子字段进行自定义查询